Открытая сеть ботов

Наша сеть ботов поможет вам проложить коммуникации между вашими устройствами без возможности взлома.


Как это работает

Для начала вы должны зарегистрироваться у нас на сайте и задать пароль в пофиле.

Используя следующий код создаётся тестовый пример бота, который может как получать сообщения от пользователей и ботов так и отправлять их. Чтобы бот мог авторизоваться и вставте регестрационные данные в нужное место этого кода а также айди бота(может быть любой строкой, длинной до 8 символов).

sio = self.sio = socketio.Client(
  reconnection = False,
)
users = {}

def connect():
  sess = requests.Session()
  resp = sess.post('https://real-dog-together.ngrok-free.app/auth/login', json={"username": '<write here your id>', "pass": '<write here password from your account>'})
  if resp.status_code != 200: return
  cookie_header = ';'.join([f'{k}={v}' for k, v in sess.cookies.items()])
  sio.connect(
    'https://real-dog-together.ngrok-free.app/',
    headers = {'Cookie': cookie_header},
  )
    
@sio.on('connect') 
def connected():
  connected = True
  sio.emit('wnet add', {'id': f'<write here random tag of bot>'})
      
  #main logic when bot started
    
@sio.on('disconnect') 
def disconnected():
  self.connected = False
      
  #logic when bot disconnect(reconnection on default)
    
@sio.on('wnet connected') 
def connected(mess):
  users[mess["sid"]] = mess["who"]
  
  #logic when someone connected to the bot
  
    
@self.sio.on('wnet disconnected') 
def connected(mess):
  del self.users[mess["sid"]]
  
  #logic when someone disconnected
    
@self.sio.on('wnet event shell') 
def cmd(mess):
  print('sid of client:', mess["sid"], 'message:', mess["message"])
  
  self.sio.emit('wnet csend', {"message": mess["message"], "sid": mess["sid"]})
  
  # logic when event

connect()

while True:
  time.sleep(5)
  if not self.connected:
    print('reconnecting...')
    try: connect()
    except: print('fail to reconnect')
        

Стоит рассказать о структуре who в mess["who"], эта структура представляет список длинны 5 в котором распологаются следующие элементы в таком же порядке: id, username, first_name, last_name, user_picture(ссылка на аватарку пользователя). Все эти данные достоверные и не поддаются подделке на сервере.

Хранение json файлов

Сдесь вы можете хранить до 5-ти файлов каждыйвесом до 64-ёх килобайт.


Как это работает

Для начала вы должны зарегистрироваться и задать пароль в профиле для аккаунта у нас на сайте.Далее там же вам надо получить получить авторизационные данные введя свой пароль от аккаунта. Авторизационные данные состоят из двух заголовков(pass_auth и reg_type) и должны быть указаны в заголовках каждого запроса. Так же должен быть указан заголовок content-type: application/json. Единственное исключение - конечная точка /json/<us_id>/<name>

import requests
http_session = requests.Session()
sess.post('https://real-dog-together.ngrok-free.app/accounts/login', json={"username": '<твой телеграм id>', "pass": '<твой пароль от аккаунта на этом сайте>.'})  # авторизация  
json_file = requests.get('https://real-dog-together.ngrok-free.app/json/<us_id>/<name>').json  # получить json по id пользователя и имени
requests.post('https://real-dog-together.ngrok-free.app/json/<name>', json=<твой json>)  # сохранить json по имени name
requests.update('https://real-dog-together.ngrok-free.app/json/<name>', json=<твой json>)  # обновить json по имени name
requests.delete('https://real-dog-together.ngrok-free.app/json/<name>', json=<твой json>)  # удалить json по имени name