Skip to content

gervaty/Bot5555

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bot5555

Телеграм-бот на Python с упором на интеграции со Scratch, утилиты для чатов и несколько встроенных мини-игр.

Что умеет бот

Scratch

  • /project <id|url>: показывает информацию о проекте Scratch, статистику, описание и инструкции.
  • /sound <id|url>: достаёт самый длинный звук из проекта и отправляет его в Telegram.
  • /studio <id|url>: показывает данные студии Scratch.
  • Для части закрытых или недоступных проектов бот пытается работать через ремикс-механику и служебные токены.
  • /messages <username>: показывает число непрочитанных сообщений Scratch-пользователя.
  • /member <username>: проверяет признаки Scratch Membership.
  • /agent <username>: получает user-agent по нику.
  • /user <username>: показывает расширенный профиль Scratch, включая дату регистрации, статус, bio, ссылки и часть дополнительной информации.
  • /randomuser: присылает случайный Scratch-профиль.
  • /getjson <id|url>: вытаскивает JSON проекта.
  • /login <username> <password>: служебная команда для авторизации в Scratch и получения cookie/token. Доступна только verytrusted.

Telegram-утилиты

  • /start, /help, /info, /guidelines: базовые информационные команды.
  • /proxy <url>: отправляет документ по ссылке.
  • /tts <text> или ответом на сообщение: озвучивает текст через Scratch TTS.
  • /linkbtn <url> <text>: создаёт inline-кнопку со ссылкой.
  • /copybtn <caption> <text_to_copy> <button_text>: создаёт кнопку копирования текста.
  • /ayu <text> ответом на сообщение: оформляет цитату и добавляет подпись/комментарий.
  • /time: показывает локальное время для заранее заданных людей/часовых сдвигов.
  • /case <number>: переводит integer case code в IPv4.
  • /ip <ipv4>: переводит IPv4 в case code.
  • Бот умеет реагировать на некоторые фразы, токены, YouTube-ссылки и пересылать сообщения между конкретными чатами/темами.

Игры и интерактив

  • /rps ответом на сообщение: камень-ножницы-бумага через inline-кнопки.
  • /ttt ответом на сообщение: крестики-нолики.
  • /cards: карточная мини-игра на память.
  • /clicker: простой счётчик нажатий.
  • /roulette: квиз-опрос "русская рулетка".
  • /randmsg: пересылает случайное сообщение из текущего чата.

Админские и доверенные команды

Некоторые функции доступны только спискам trusted и verytrusted, зашитым в коде:

  • /echo
  • /get
  • /eval
  • /dm
  • /p, /unp
  • /opt, /clt
  • /normalise / /normalize
  • /restart

Часть этих команд потенциально опасна: они позволяют выполнять сетевые запросы, отправлять сообщения, закреплять сообщения и выполнять ограниченный eval.

Технологии

  • Python
  • pyTelegramBotAPI (telebot)
  • requests
  • pytz

Структура файлов

  • main.py: весь основной код бота.
  • tokens.json: локальный конфиг с секретами. Не коммитится.
  • tokens.example.json: шаблон конфига без секретов.
  • .gitignore: исключения для локальных и секретных файлов.

Настройка

  1. Создайте виртуальное окружение и установите зависимости:
python -m venv .venv
.\.venv\Scripts\activate
pip install pyTelegramBotAPI requests pytz
  1. Скопируйте шаблон:
Copy-Item tokens.example.json tokens.json
  1. Заполните tokens.json своими значениями.

Формат tokens.json

Бот ожидает такие ключи:

  • telegram_bot_token
  • testacc
  • remixes_cloud_token
  • remixer_token
  • account_remixer
  • scratch_activity_headers
  • eval_mask_token

Подробный шаблон лежит в tokens.example.json.

Запуск

.\.venv\Scripts\python.exe .\main.py

Или:

python .\main.py

Бот использует long polling через bot.infinity_polling().

Важные замечания

  • В проекте нет разделения на модули: почти вся логика находится в одном файле main.py.
  • В коде есть привязка к конкретным Telegram-чатам, форум-темам и ID пользователей.
  • Часть Scratch-функций зависит от приватных cookie, CSRF и служебных токенов.
  • Некоторые команды работают только у доверенных пользователей.
  • Без корректно заполненного tokens.json бот не запустится.

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

  • Не коммитьте tokens.json.
  • Не публикуйте Scratch cookie и Telegram bot token.
  • Если токен уже утёк, перевыпустите его и обновите локальный tokens.json.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages