sayarobot is a Telegram group-management bot built with Python and Pyrogram. It includes moderation tools, notes, filters, warnings, admin utilities, anime helpers, AI chat support, and a clean video-based start menu.
- Group moderation: bans, mutes, warnings, locks, reports, approvals, blacklist, rules, and admin tools.
- Community tools: notes, filters, birthday messages, welcome helpers, AFK, tagging, and utility commands.
- AI features: Gemini-powered chatbot support through
google-genai. - Media experience: video start screen with direct buttons for Add to group, Help, Support, Channel, and Source.
- Deployment-ready: Dockerfile and Railway config are included.
- MongoDB storage: group settings, notes, warnings, disabled commands, chatbot data, and bot state.
The default /start menu uses direct Telegram buttons:
Add me to your group
Help
Support | Channel
Source
Telegram controls inline-button colors and URL arrows in the app UI. The bot controls the button text, layout, callback actions, and direct links.
- Fork or clone this repository.
- Create a Railway project from the GitHub repo.
- Railway will use the included
Dockerfileandrailway.json. - Add the required environment variables.
- Deploy the worker service.
Railway start command:
python -m CurseSet these in Railway before starting the bot:
ENV=ANYTHING
BOT_TOKEN=
API_ID=
API_HASH=
OWNER_ID=
MESSAGE_DUMP=
DB_URI=
DB_NAME=sayarobotImportant notes:
BOT_TOKENmust be the full token from@BotFather.API_IDandAPI_HASHcome fromhttps://my.telegram.org.MESSAGE_DUMPmust be a supergroup or channel id starting with-100.- The bot must be added to
MESSAGE_DUMPand allowed to send messages. DB_URImust be a full MongoDB URI, not a shortened value such asmongodb....
Admin and support:
DEV_USERS=
SUDO_USERS=
WHITELIST_USERS=
SUPPORT_GROUP=YourMoreBotsChannel
SUPPORT_CHANNEL=YourMoreBotsChannel
PREFIX_HANDLER=/ !
TIME_ZONE=Asia/Kolkata
WORKERS=8AI and extras:
GENIUS_API=
GEMINI_API_KEY=
GEMINI_MODEL=gemini-2.5-flash
CHATBOT_DB_URI=
CHATBOT_DB_NAME=sayarobot
BDB_URI=
RMBG_API=For lyrics, only GENIUS_API is used. Genius Client ID and Client Secret are not needed.
Create a .env file from .env.example, then install dependencies and start the bot:
python -m pip install -r requirements.txt
python -m CurseDocker:
docker build -t sayarobot .
docker run --env-file .env sayarobotBOT_TOKEN is not a valid Telegram bot token
Use the full token from @BotFather. Do not use a Genius token, OAuth token, client ID, or client secret.
MESSAGE_DUMP starts wrong
Use a Telegram supergroup or channel id that starts with -100.
MongoDB host invalid
Paste the complete MongoDB URI into Railway. Do not paste a shortened or hidden value containing ....
Telegram login failed
Check BOT_TOKEN, API_ID, and API_HASH in Railway. Redeploy after editing variables.
Lyrics command does not work
Set GENIUS_API to the Genius Client Access Token.
- Source:
https://github.com/shnwazdeveloper/sayarobot.git - Support:
https://t.me/YourMoreBotsChannel - Updates:
https://t.me/YourMoreBotsChannel
This project is released under the GNU General Public License v3.0.