И всё-таки вам нужны подробности? Что ж, "получите, распишитесь". Для начала разберёмся, что DMconnect может:
Осуществлять связь и обмен сообщениями между пользователями - DMconnect, как не трудно догадаться, поддерживает полноценную передачу сообщений между пользователями: посредством групповых чатов (подсерверов) и личных сообщений.
Пользователь может выбрать свой статус - пользователь может выбирать свой собственный статус, используя сообщение вида /act СТАТУС. При этом необходимо находиться на одном из подсерверов.
Пользователь может создавать собственные комнаты (подсервера) - пользователь может создавать собственные подсервера для общения, используя сообщение вида /create_server ИМЯ. Обратите внимание: подсервера с пробелами в названии не поддерживаются.
Можно получить список пользователей на подсервере - это делается командой /members, при этом нужно находится на одном из подсерверов.
Конечно, всё расписывать здесь я не буду. Весь список доступных команд можно получить с помощью /help.
На данный момент протокол не поддерживает:
Передачу файлов между пользователями - этого нет даже в планах. DMconnect - протокол чисто текстовый, так что всяких возможностей по типу передачи картинок, эмодзи (ну, разве что, текстовых) и т. д. не ждите.
Сервер не может хранить историю сообщений - DMconnect подразумевает, что вы с вашим собеседником (или собеседниками) находятся on-line, так что данной возможности можете также не ждать.
Администрирование собственного подсервера - увы, это - горькая правда. Подсервер может администрировать только администратор сервера, баня злополучных пользователей. Поэтому устанавливать собственные правила для своего подсервера - не принято, да и зачем?
Теперь перейдём к протоколу всего этого чуда. По сути, DMconnect прост настолько, насколько это возможно. Минимальный клиент на Python получится всего на 26(!) строк (см. инструкцию по созданию своего клиента). Объясним кратко: вы можете банально отправлять серверу "cырые" (/login, /register, /join_server, как дела и т. д.) сообщения, закодированные в UTF-8 (обязательно, любые другие кодировки не поддерживаются), т. е. алгоритм создания своего клиента / бота / автоответчика таков:
Делаем подключение к серверу через сокет AF_INET и SOCK_STREAM.
Делаем приемник сообщений от сервера (простой бесконечный цикл, который печатает (или делает что-либо ещё) все сообщения от сервера, например: client_socket.recv(1024).decode("utf-8").strip()).
Отправляем серверу сообщение, например, client_socket.send("Hello World".encode("utf-8")).
Готово!
Если вам интересны самые специфичиные подробности протокола DMconnect (вернее, это словарь команд и ответов на них от сервера) - существует документация.
С уважением, BitByByte.
Статистика сайта:
Посещений за день: 9.
Посещений за месяц: 253.
Посещений за год: 243.