Перейти к содержанию

КАК ЭТО РАБОТАЕТ

Короче, по-простому.

Ты запускаешь бота

  1. Сначала проверяется безопасность (файрвол)
  2. Подключается база данных (RocksDB)
  3. Поднимается веб-сервер — чтобы ты мог залогиниться через браузер
  4. Ждёшь пока ты авторизуешься
  5. Подключается к Matrix
  6. Подключается крипта (OlmMachine)
  7. Загружаются модули: сначала встроенные, потом твои из репозиториев
  8. Начинает слушать новые сообщения

Когда ты пишешь команду

Допустим ты пишешь .ping:

  1. Matrix шлёт событие "новое сообщение"
  2. Бот ловит это событие
  3. Расшифровывает если нужно (если комната зашифрована)
  4. Видит что начинается с .
  5. Ищет какая команда соответствует
  6. Проверяет права (ты OWNER? SUDO? или просто кто-то?)
  7. Если всё ок — выполняет команду
  8. Отвечает через utils.answer()

Модули

Есть два вида:

  • Core — встроенные, идут вместе с ботом. Их нельзя изменить, они "заморожены".
  • Community — те что ты ставишь из репозиториев. Работают в песочнице, не могут навредить.

Если что-то непонятно

Загляни в Ключевые концепции — там всё простыми словами.

Если ты разработчик и хочешь писать модули — тебе сюда: Разработка модулей.