Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Информация
titleО библиотеки socket.io

Socket.IO - это библиотека для создания приложений, работающих в режиме реального времени, имеющих двунаправленный канал связи и основанных на событиях. Более подробно ознакомиться с библиотекой можно на сайте официальной документации.


Блок кода
languagepy
themeRDarkConfluence
firstline1
titleОпределение обработчика событий
linenumberstrue
import json

import requests
import socketio

# Создаем экземпляр клиента
socket_session = socketio.Client()

CHAT_ID = ""


def start_chat_session(chat_id: str, name: str = ""):
    url = f"https://tcl.twin24.ai/api/chats/v1/chats/{chat_id}/sessions?x_widget=1"
    payload = json.dumps({"name": name})
    headers = {"Content-Type": "application/json"}
    response = requests.request("POST", url, headers=headers, data=payload)
    return response


# Определение обработчика событий
@socket_session.on("chatMessageCreatedEmit")
def on_message(data):
    print('I received a message!')


@socket_session.event
def connect():
    print("I'm connected!")


@socket_session.event
def connect_error(data):
    print("The connection failed!")


@socket_session.event
def disconnect():
    print("I'm disconnected!")


response = start_chat_session(chat_id=CHAT_ID, name=f"imitation {test_time}")

session_id = response.json()['id']

# Подключение к серверу
socket_session.connect(f"https://tcl.twin24.ai/operator/socket.io/?key={session_id}",
                       transports=["polling", "websocket"],
                       socketio_path="operator/socket.io")
socket_session.disconnect()

...