auto_awesome Elysv0.1.1
Elyschevron_rightДокументация пользователя

Документация пользователя

От установки до тонкой настройки безопасности. Всё, что нужно, чтобы Elys работал на тебя.

Что такое Elys

Elys (Элис) — модульный юзербот для Telegram от команды ZavozDevs. Он работает от имени твоего аккаунта и выполняет команды, которые ты отправляешь в любой чат — например, .ping или .help. Вместо нового сообщения Elys обычно редактирует твоё, поэтому переписка остаётся чистой.

Elys написан на Python 3 поверх асинхронной MTProto-библиотеки elystl (форк Telethon) и вырос из проектов Hikka и Heroku.

extension

Модули

Ставь готовые модули Hikka, FTG, Heroku и MCUB без изменений.

widgets

Инлайн-интерфейс

Конфиг, бэкапы и настройки — кнопками через собственного инлайн-бота.

shield_lock

Безопасность

Гибкие права доступа, API Firewall и проверка модулей.

warning
Важно о безопасности

Модуль — это код, который получает полный доступ к твоему аккаунту и серверу. Ставь модули только из официальных репозиториев и от доверенных разработчиков. Осторожнее с командами .terminal и .e.

Требования

  • Python 3.10+ и git.
  • API ID и API HASH — получи их на my.telegram.org/apps (раздел API development tools).
  • Доступ в интернет до серверов Telegram (или прокси — см. флаги запуска).
  • Для команд .ec, .ecpp, .ers, .eg, .enode — установленные компиляторы/рантаймы соответствующих языков. В Docker-образе уже есть Node.js и ffmpeg.

Установка

Выбери платформу. Все варианты клонируют репозиторий, ставят зависимости в виртуальное окружение и запускают python3 -m elys.

sudo apt update && sudo apt install git python3 python3-venv -y
git clone https://github.com/ZavozDevs/Elys && cd Elys
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python3 -m elys
info

Запускаешь под root на VPS? Добавь --root: python3 -m elys --root — так Elys не будет спрашивать подтверждение небезопасного запуска.

Первый запуск

  1. Введи API ID и API HASHElys попросит их при первом запуске. Их можно передать и через переменные окружения api_id и api_hash.
  2. Войди в аккаунтпо номеру телефона (с кодом и 2FA-паролем, если он есть) или по QR-коду с флагом --qr-login.
  3. Дождись создания инлайн-ботаElys сам создаст бота через @BotFather — он нужен для кнопок, форм и уведомлений. Своего бота можно задать позже: .ch_bot_token.
  4. Проверь работуОтправь в любой чат .ping, затем .help.
lightbulb
Совет

Используй «Избранное» как командный центр — туда же Elys присылает бэкапы и логи.

Флаги запуска

Флаги передаются при старте: python3 -m elys --root --no-git.

ФлагЧто делает
--phone, -pНомер телефона для входа. Можно указать несколько раз для нескольких аккаунтов.
--qr-loginВход по QR-коду вместо номера телефона.
--rootОтключить предупреждение о запуске от root.
--data-root <путь>Где хранить сессии и данные.
--no-authНе спрашивать данные для входа; завершиться, если их нет.
--proxy-host, --proxy-portАдрес и порт прокси.
--type-proxyТип прокси: mtproxy, socks5 или http.
--proxy-secretСекрет MTProto-прокси (обязателен для mtproxy).
--no-gitОтключить git-проверки и обновления.
--sandboxЗавершаться вместо перезапуска.
--no-ttyНе использовать цветной вывод (ANSI).
--wipe, -wУдалить сохранённые сессии и конфиг, затем выйти. Необратимо.
python3 -m elys --proxy-host 127.0.0.1 --proxy-port 1080 --type-proxy socks5

Основы работы

Команда — это сообщение, начинающееся с префикса (по умолчанию точка). Аргументы пишутся через пробел; многие команды принимают ответ на сообщение вместо аргумента.

.help                 # список модулей и команд
.help Loader          # помощь по конкретному модулю
.ping                 # проверить, что бот жив
.info                 # карточка с информацией о юзерботе
.tr en Привет!        # перевести текст

Префикс

Сменить префикс: .setprefix ! — теперь команды пишутся как !help. Если забыл префикс, отправь .elys — бот покажет текущие настройки.

NoNick

NoNick позволяет запускать команды без отправки от твоего имени (бот отвечает отдельно, не редактируя сообщение). Включается для пользователя (.nonickuser), чата (.nonickchat) или команды (.nonickcmd ping).

Алиасы

Алиас — короткое имя для команды:

.addalias p ping      # теперь .p == .ping
.aliases              # все алиасы
.delalias p           # удалить алиас
.delalias --clear     # удалить все алиасы

Отключение команд и модулей

.togglecmd Tester ping выключает отдельную команду, .togglemod Translator — весь модуль. Повторный вызов включает обратно.

Модули

Функциональность Elys расширяется модулями — Python-файлами с командами. Совместимы модули Hikka, FTG, Heroku и MCUB.

quiz
Разблокировка сторонних модулей

Перед первой установкой стороннего модуля Elys попросит пройти короткий опрос о безопасности в инлайн-боте. Запустить его вручную — .verify (алиас .quiz).

Установка

.dlmod https://example.com/weather.py   # по ссылке (алиас .dlm)
.dlmod weather                          # по имени из подключённых репозиториев
.lm                                     # ответом на .py-файл (= .loadmod)
.dlmall                                 # все модули из выбранного репозитория

Если модуль требует pip-пакеты (строка # requires: в начале файла), Elys установит их автоматически.

Управление

.ulm Weather          # выгрузить модуль (= .unloadmod)
.ml Weather           # получить модуль файлом
.helphide Weather     # спрятать из .help
.clearmodule Weather  # стереть данные модуля в базе
.clearmodules         # выгрузить ВСЕ сторонние модули

Репозитории

Добавь репозиторий, чтобы ставить модули из него по имени: .addrepo <ссылка>, удалить — .delrepo <ссылка>.

Конфигурация

У большинства модулей есть настройки. Самый удобный путь — интерактивный конфигуратор с кнопками, поиском и пагинацией:

.config                          # выбрать модуль из списка
.config Tester                   # открыть настройки модуля
.config Tester ping_emoji        # открыть конкретную опцию
.config Tester ping_emoji 🚀     # сразу установить значение
.config ElysInfo banner_url https://… && ping_emoji ⚡   # несколько опций через &&

Значение можно взять из сообщения: ответь на него командой .config <модуль> <опция>. У .config есть короткий вариант — .cfg (алиас .fcfg).

check_circle

Каждое значение проверяется валидатором: если ввести строку туда, где ждут число, Elys подскажет, что не так.

Инлайн-настройки

.settings — панель с основными переключателями юзербота. .watchers — список активных «смотрителей» (обработчиков всех сообщений), .watcherbl <модуль> отключает смотрителя в текущем чате.

Безопасность и доступ

По умолчанию командами можешь пользоваться только ты. Elys позволяет гибко делиться доступом.

Владельцы

.owneradd @friend       # дать полный доступ (owner)
.owneradd -n @friend    # …без NoNick
.ownerlist              # список владельцев
.ownerrm @friend        # забрать доступ
gpp_maybe

Владелец может делать с юзерботом всё, включая .terminal и .e. Выдавай этот доступ только тем, кому доверяешь как себе.

Группы безопасности

Создай группу, добавь в неё людей и разреши ей конкретные команды через .security:

.newsgroup helpers           # создать группу
.sgroupadd helpers @friend   # добавить участника
.security ping               # инлайн-настройка: кто может запускать .ping
.sgroups                     # все группы

Таргетированные правила

.tsec выдаёт доступ к команде или модулю конкретному пользователю, чату или группе — опционально на время:

.tsec user @friend ping 1h   # другу — .ping на час
.tsec chat Translator        # всем в этом чате — модуль Translator
.tsecrm user ping            # удалить правило
.tsecclr chat                # очистить все правила для чатов

Чёрные списки

.blacklist — отключить бота в текущем чате, .blacklistuser — запретить пользователю выполнять команды. Отмена: .unblacklist / .unblacklistuser.

API Firewall

Защита от слишком частых запросов к Telegram API, которые могут привести к ограничениям аккаунта. Переключение — .api_fw_protection; временно приостановить — .suspend_api_protect 60.

Резервные копии

Elys умеет сохранять базу и модули прямо в Telegram — в отдельный чат-хранилище.

КомандаЧто сохраняет / восстанавливает
.backupdb / .restoredbБаза данных: настройки, конфиги модулей, алиасы
.backupmods / .restoremodsУстановленные модули
.backupall / .restoreallВсё сразу: модули, база и список pip-пакетов
.set_backup_period 24Автобэкап каждые N часов

Для восстановления ответь соответствующей командой на файл бэкапа. Бэкапы из Hikka и Heroku тоже подходят.

Обновления

.update          # скачать и установить обновления
.changelog       # что нового
.rollback        # откатить последнее обновление
.autoupdate      # автообновления вкл/выкл
.branch beta     # сменить ветку: master, beta или dev
.restart         # перезапуск
.ubstop          # остановить юзербота (с подтверждением; -f — без)
info

Старые установки, указывающие на исходный репозиторий, автоматически переключаются на ZavozDevs/Elys. С флагом --no-git обновления отключены.

Языки интерфейса

Смена языка: .setlang ru. Встроенные паки:

🇷🇺 ru🇬🇧 en🇩🇪 de🇺🇦 ua🇯🇵 jp uwuleettiktokneofitlust

Внешний языковой пак ставится по ссылке: .dllangpack <ссылка>.

Несколько аккаунтов

.addacc запускает вход ещё одного аккаунта через инлайн-форму — без перезапуска и консоли. .switchacc переносит юзербота на другой аккаунт. При запуске из консоли несколько аккаунтов можно указать флагом -p несколько раз.

Eval и терминал

Для продвинутых пользователей: выполнение кода и shell-команд прямо из Telegram.

.e 2 ** 64                       # Python (алиас .eval)
.e await client.get_me()         # доступ к клиенту Telegram
.enode console.log([1,2,3].map(x => x * 2))
.terminal uptime                 # shell (алиас .exec)
.terminate                       # ответом — убить процесс (-f — принудительно)

Также доступны .ec (C), .ecpp (C++), .ers (Rust) и .eg (Go) — при наличии компиляторов в системе.

dangerous

Никогда не запускай код, который тебе прислали незнакомцы. .e и .terminal имеют полный доступ к аккаунту и серверу.

Справочник команд

Все команды встроенных модулей. Нажми на команду, чтобы скопировать её. Актуальный список с описаниями на выбранном языке — в .help.

Загружаем команды…

Решение проблем

Бот не отвечает на командыexpand_more
  • Проверь, что процесс запущен и в консоли нет ошибок.
  • Убедись, что используешь правильный префикс — .elys покажет его.
  • Возможно, чат в чёрном списке: .unblacklist.
Ошибка AuthKeyUnregistered при стартеexpand_more

Сессия была завершена (например, из настроек Telegram → Устройства). Запусти python3 -m elys и войди заново; при необходимости очисти данные флагом --wipe.

Модуль не устанавливаетсяexpand_more

Пройди опрос .verify, если ещё не проходил. Посмотри логи .logs error — чаще всего не хватает системной зависимости или модуль написан под несовместимую версию.

Как поделиться логами для поддержки?expand_more

.logs warning пришлёт лог-файл. Уровни ниже WARNING (INFO, DEBUG) могут содержать личные данные — проверь файл перед отправкой.

Где попросить помощи?expand_more

Чат @ElysTalk или GitHub Issues. Команда .support пришлёт ссылку.

↑ ↓ выборEnter перейтиEsc закрыть