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

ЗАЧЕМ ЭТО ВООБЩЕ?

Преимущества

1. Команды от твоего имени

Юзербот сидит под твоим аккаунтом, команды выполняются от твоего имени. Не нужно пользоваться другими ботами (в большинстве случаев) — есть модули, которые могут покрыть ваши потребности.

2. Юзерботу не нужен отдельный хоум сервер!

При помощи рейт лимиттера — бот может работать на любом сервере, с учётом ограничений сервера конечно.

Из зависимостей в основном нужен uv.

Сложная настройка так же не требуется: всё настраивается или через сайт, или же через матрикс чат.

3. Встроенный репозиторий модулей

По умолчанию подключён системный репозиторий.

Любой модуль оттуда ставится одной командой:

.mdl miku

Можно добавить сторонний репозиторий, тогда модули ставятся так:

.mdl Pasha/miku

Добавить репозиторий:

.addrepo https://github.com/user/repo

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 верификация

Верификация работает двумя способами:

  1. Верификация бота — чтобы бот мог полноценно работать в шифрованных чатах, видя прошлые сообщения, стоит его верифицировать. Доступна только SAS (эмодзи верификация). Стоит ждать от 5 до 20 сек — бот примет твой запрос и ты сможешь подтвердить его. Щас недоступно сравнение эмодзи своих с ботом. Позже добавится. После верификации бот будет хранить и твои ключи, и свои тоже.

  2. Верификация другого устройства — работает по такой схеме:

  3. .devices — посмотреть все устройства
  4. Найти ID устройства
  5. .verif <id> — запустить верификацию
  6. Бот кидает запрос на верификацию в чат — подтверждаешь
  7. Бот показывает эмодзи — сверяешь, подтверждаешь

Всё! Бот поделится ключами, а так же отметит в локальной базе что устройство верифицировано.

Подробнее: SAS верификация