ЗАЧЕМ ЭТО ВООБЩЕ?
Преимущества
1. Команды от твоего имени
Юзербот сидит под твоим аккаунтом, команды выполняются от твоего имени. Не нужно пользоваться другими ботами (в большинстве случаев) — есть модули, которые могут покрыть ваши потребности.
2. Юзерботу не нужен отдельный хоум сервер!
При помощи рейт лимиттера — бот может работать на любом сервере, с учётом ограничений сервера конечно.
Из зависимостей в основном нужен uv.
Сложная настройка так же не требуется: всё настраивается или через сайт, или же через матрикс чат.
3. Встроенный репозиторий модулей
По умолчанию подключён системный репозиторий.
Любой модуль оттуда ставится одной командой:
Можно добавить сторонний репозиторий, тогда модули ставятся так:
Добавить репозиторий:
4. Эмодзи-коллбеки вместо кнопок
В Matrix нет инлайн-кнопок как в Telegram. Но есть реакции (эмодзи). И они работают как кнопки.
Ты отправляешь сообщение, бот ставит реакции. Пользователь тыкает на реакцию — бот делает что-то. Работает везде.
5. Rate Limiter — не даст тебя забанить
Если ты будешь спамить реакциями, удалять сообщения пачками — матрикс-сервер может дать 429 (M_LIMIT_EXCEEDED) или вообще забанить.
Rate Limiter автоматически: - Замедляет запросы если сервер ругается - Постепенно ускоряется обратно когда всё ок
Ты можешь не волноваться.
6. Веб-панель
FastAPI веб-морда для первого логина, управления модулями и конфигом. Удобный UX если не хочешь настраивать всё через чат.
7. Безопасность community кода
Community модули работают в песочнице: - AST-анализ кода перед загрузкой - Audit hook на все опасные операции (file/socket/import) - ScopedDatabase — каждый модуль видит только свои данные - Frozen core-модули — нельзя изменить встроенное
Вредоносный модуль не сольёт ключи и не выполнит shell.
8. SAS верификация
Верификация работает двумя способами:
-
Верификация бота — чтобы бот мог полноценно работать в шифрованных чатах, видя прошлые сообщения, стоит его верифицировать. Доступна только SAS (эмодзи верификация). Стоит ждать от 5 до 20 сек — бот примет твой запрос и ты сможешь подтвердить его. Щас недоступно сравнение эмодзи своих с ботом. Позже добавится. После верификации бот будет хранить и твои ключи, и свои тоже.
-
Верификация другого устройства — работает по такой схеме:
.devices— посмотреть все устройства- Найти ID устройства
.verif <id>— запустить верификацию- Бот кидает запрос на верификацию в чат — подтверждаешь
- Бот показывает эмодзи — сверяешь, подтверждаешь
Всё! Бот поделится ключами, а так же отметит в локальной базе что устройство верифицировано.
Подробнее: SAS верификация