Сравнение юзерботов
🌘 Hikka
Краткое описание
Основная цель Hikka - обеспечить удобство разработчикам путем добавления встроенных методов для всего и вся, чтобы не надо было писать одно и то же вручную.
Хранение данных
Т.к. нет поддержки Heroku, дб хранится в файле на сервере, что убирает флудвейты, но усложняет синхронизацию. Последняя проблема решается автоматическими бэкапами, которые идут "из коробки".
Веб-панель
Используется только для установки юзербота и добавления новых аккаунтов. Защита обеспечивается удобной авторизацией через кнопки.
Инлайн-режим
Все инлайн функции Hikka возвращают редактируемый объект InlineMessage. Все встроенные модули поддерживают inline и no-inline режим (если первый недоступен в чате, например)
Модули
"Из коробки" доступно 4 доверенных репозитория - hikarimods, hikarimods_database, morisummermods, cakestwix_mods
Управление
Все управление осуществляется с помощью встроенных модулей. Там, где это уместно, используется инлайн.
Удобство для разработчиков
В этом пункте можно написать очень много всего, но будет сложно охватить полностью. @loader.loop для бесконечных циклов, self.get\self.set для удобных операций с базой данных, self.animate для анимаций, тайпхинты для всего и вся и многое другое. За полной информацией читайте код модулей и доки на гитхабе.
Отличия от других юзерботов для разработчиков - hikariatama.ru/hikka/
Кастомизация
Можно сменить ник бота, эмодзи в хелпе, (soon) кастомный текст в .info. Замена встроенных модулей и команд недоступна.
Производительность и оптимизация
Многие обновления направлены на сокращение запросов к Telegram API (с целью снижения вероятности бана), в том числе встроенная защита от флуда API (включается опционально). По этой же причине добавляется много дополнительных атрибутов, по типу self._tg_id
Функционал "из коробки"
22 встроенных модуля, 4 доверенных репозитория, доступных в .dlmod
Безопасность и защита от SCAM
Встроенная в telethon-mod защита от скама. Запрет запуска юб с классическим телетоном (без защиты).
Комьюнити (чаты поддержки, каналы)
@hikka_talks, @hikka_ub, @hikka_offtop
🐉 Dragon Userbot
Краткое описание
Примерно два года назад john_phonk не понравилось писать модуль под популярный тогда FTG, поэтому он решил создать свой юзербот с нуля к концепцией защиты от SCAM модулей. Его разработка привлекла в команду nalinor и thefsch. Они помогают, когда основателю становится лень.
Хранение данных
База данных выбирается при установке (MongoDB / SQLite3), есть модуль для бекапов
Модули
На данный момент доступно два репозитория кастомных модулей
https://github.com/Dragon-Userbot/custom_modules
https://github.com/Dragon-Userbot/custom_modules/blob/main/modules_hashes.txt
Кастомизация
Можно установить префикс длиною в >=2 символов
Производительность и оптимизация
Запуск с нуля за 5 секунд против ~30 у FTG-подобных
Функционал "из коробки"
Некоторые модули, аналогов которых нет на FTG-подобных, бесплатны. К примеру swmute (tmute). Так же все модули доступны для загрузки бесплатно с полной функциональностью. Установить dragon можно на ubuntu/termux/lavhost/wsl
Безопасность и защита от SCAM
Главной целью для себя разработчики Dragon Userbot ставят защиту от скама. Лоадер просто не даст загрузить модуль со скамом. Все модули верифицируются вручную модераторами (не проскочит ни только удаление аккаунта, а вообще любые зловредные функции, о которых не написано в хелпе, а верификация модуля занимает 4-8 минут)
Комьюнити (чаты поддержки, каналы)
Полезные ссылки, @Dragon_Userbot @Dragon_Userbot_chat @Dragon_Userbot_modules
😎 Sh1tN3t UserBot
Краткое описание
Хранение данных
База данных располагается на сервере в виде json файла
Остальные данные, например, для заметок, фильтров и других модулей находится в телеграм чате (sh1t-<ID>-data) который связан с базой данных
Веб панель
Инлайн-режим
Доступен. Пример модуля с инлайн режимом находится в файле _example.py
Модули
Модули загружаются по ссылке (dlmod <ссылка>) или реплаем на файл (loadmod <реплай на файл>)
"Из коробки" доступен репозиторий sub-modules, но его можно изменить командой dlrepo <ссылка на репозиторий>
Управление
Через модули доступно смена префикса, добавление/удаление алиасов
Удобство для разработчиков
Удобная архитектура модулей, работа с базой данных (self.db.get / self.db.set), декораторы фильтры (@loader.on(<фильтр>)), обозначение название, автора и версию модуля (@loader.module)
Кастомизация
Замена встроенных модулей, ...
Фреймворк, архитектура
Юзербот написан на Pyrogram. Потому что это удобная библиотека для работы с API Telegram.
Красивая и удобная авторизация аккаунта. Оптимизированный и чистый код
Функционал "из коробки"
Встроенные модули позволяющие менять префикс, добавлять/удалять алиасы
Удобство использования
Присутствует команда help, которая выводит все доступные модули. Также можно вывести информацию о модуле (название, автора, версию модуля, описание самого модуля и описание каждой команды)
Частота и в чем суть обнов
Обновления выходят почти каждую 1-2 недели. Основная суть обновлений: оптимизация работы юзербота и добавление нового функционала
Коммьюнити
🕶 GeekTG
Краткое описание
Простой в использовании как для разработчиков, так и для юзеров.
Хранение данных
По умолчанию все настройки сохраняются в Telegram-чате friendly-<ID>-data
.
Заметки и прочее сохраняются в Telegram-чате friendly-<ID>-assets
Так же может хранится в файле.
Веб-панель
Используется только для установки юзербота.
Инлайн-режим
Доступен, прост в использовании. Документация для разработчиков: тут.
Модули
Модули загружаются файлом/ссылкой(.loadmod
<reply>, .dlmod
<url>). По умолчанию стоит репозиторий FTG-Modules, который можно изменить командой .dlrepo <url>
Документация для разработчиков: тут.
Управление
Специальный набор модулей для управления GeekTG:
• GeekConfig: (config)
• GeekSecurity: (owneradd | ownerlist | ownerrm | security | sudoadd | sudolist | sudorm | supportadd | supportlist | supportrm)
• GeekSettings: (nonickcmd | nonickuser | settings | watcherbl | watcher | watchers)
• Loader: ( clearmodules | dlmod | dlpreset | dlrepo | loadmod | unloadmod | unloadrepo )
• Settings: ( addalias | addtrnsl | aliases | blacklist | blacklistuser | cleardb | cleartrnsl | delalias | ftgver | setlang | setprefix | unblacklist | unblacklistuser )
Удобство для разработчиков
Есть простая документация в которой чётко расписано как писать модули.
Кастомизация
Смена префикса, добавление алиасов, смена эмодзи в хелпе и смена репо модулей.
Фреймворк, архитектура (кратко)
Юзербот написан на Telethon, потому-что он простой в использовании. Базой GeekTG является FTG.
Функционал "из коробки"
"Из коробки" имеется 19 модулей которые необходимы для работы юзербота.
Безопасность и защита от SCAM
Для защиты от модулей с удалением аккаунта используется библиотека Telethon-Mod. При попытке удалить аккаунт выдаёт ошибку Exception: DAR
Техподдержка, комьюнити
- Чат: @GeekTGChat
- Канал: @Mod_FTG
🤖 Friendly-Telegram (FTG)
Краткое описание
Юзербот, служит основной кодовой базой для GeekTG, Hikka и некоторых других.
Хранение данных
Данные хранятся в чатах Telegram, а именно
friendly-<ID>-data для базы данных настроек
friendly-<ID>-assets для базы данных ресурсов: картинки, заметки и т.д.
Веб-панель
Присутствует, служит преимущественно для настроек конфигов модулей
Инлайн-режим
Модули
Модули загружаются файлом/ссылкой(.loadmod <reply>, .dlmod <url>). По умолчанию стоит репозиторий https://gitlab.com/friendly-telegram/modules-repo, который можно изменить через веб панель.
Пример модуля:
https://gitlab.com/friendly-telegram/friendly-telegram/-/blob/master/friendly-telegram/modules/_skeleton.py
Управление
Веб панель и команды в юзерботе:
Loader: dlmod, dlpreset, loadmod, unloadmod
Tester: dump, logs, ping, suspend
Settings: addalias, addtrnsl, blacklist, blacklistuser, cleardb, cleartrnsl, delalias, setlang, setprefix, unblacklist, unblacklistuser
Updater: download, restart, source, update
Help: help, support
Удобство для разработчиков
Есть скелет модуля, который можно изменять под свои нужды.
https://gitlab.com/friendly-telegram/friendly-telegram/-/blob/master/friendly-telegram/modules/_skeleton.py
Кастомизация
Добавление алиасов, изменение языка юзербота, пользовательские переводы (@dperevod), установка кастомных префиксов команд, возможность на один аккаунт поставить юзербот, которым могут пользоваться еще несколько человек (owner, sudo, etc.)
Производительность и оптимизация
Запуск долгий, возникает минорная ошибка, которая ни на что не влияет.
Фреймворк, архитектура (кратко)
Работает на библиотеке Telethon с загружаемыми модулями, в свою очередь Telethon работает по технологии MTProto.
Функционал "из коробки"
• Settings: addalias, addtrnsl, blacklist, blacklistuser, cleardb, cleartrnsl, delalias, setlang, setprefix, unblacklist, unblacklistuser
• Updater: download, restart, source, update
• Help: help, support
• Python: eval, exec
• Anti-collisions: cleanbots
• Loader: dlmod, dlpreset, loadmod, unloadmod
• Tester: dump, logs, ping, suspend
• Stickers: gifify, kang
• Recent Actions: recoverdeleted
• Typewriter: type
• AFK: afk, unafk
• Terminal: apt, kill, neofetch, terminal, terminate, uptime
• User Info: permalink, userinfo
• Weather: weather
• Purge: del, purge
• Administration: ban, demote, kick, mute, promote, unban, unmute
• System Info: info
• Notes: delallnotes, delnote, note, notes, save
• Speedtest: speedtest
Безопасность и защита от SCAM
Частота и в чем суть обновлений
Техподдержка, комьюнити (чаты поддержки, каналы)
Небольшой вывод
Юзербот хороший, но функционала в связи с редкими обновлениями недостаточно(если сравнивать с альтернативами)