Skip to content
 
 

Repository files navigation

Проект InterMessage

Приложение, позволяющее объединять чаты в различных мессенджерах через использование ботов. При подключении ботов к чатам и запуске для них приложения все сообщения отправленные в одном чате будут получены в других от бота с префиксом о том, откуда данное сообщение родом (мессенджер, пользователь). В данный момент поддерживаются мессенджеры Discord, Telegram, Vk, и отправка в них текстовых сообщений, аудио, видео и фото.

Схема использования:

  1. Пользователь создает по боту для каждой из беседах в мессенджерах (Вк, Телеграм, Дискорд), добавляет их в эти беседы
  2. Пишет конфигурационный файл, в котором задает токены и идентификаторы бесед ботов.
  3. Запускает приложение, передавая на вход конфигурационный файл.

Схема работы:

  1. При запуске приложения для каждого бота создается объект IMNode, содержащий объект с конкретным ботом, входящую и исходящую очередь, а также ссылки на другие Node.
  2. Для каждой Node асинхронно запускается несколько задач: ожидание ботом сообщений(1), проверка входящей очереди (2), проверка исходящей очереди (3).
  3. (1): когда бот получает сообщение, он преобразовывает его в универсальный вид и кладет в исходящую очередь своей Node.
  4. (2): когда Node видит наличие сообщений в исходящей очереди, она добавляет это сообщение во все входящие очереди Node.
  5. (3): когда Node видит наличие сообщений во входящей очереди, она указывает боту внутри себя на необходимость отправки сообщения.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages