{"id":50474498,"url":"https://github.com/shnwazdeveloper/sayarobot","last_synced_at":"2026-06-01T12:03:24.042Z","repository":{"id":355914188,"uuid":"1230200693","full_name":"shnwazdeveloper/sayarobot","owner":"shnwazdeveloper","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-05T21:23:32.000Z","size":3605,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-05T21:26:16.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shnwazdeveloper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-05T19:19:57.000Z","updated_at":"2026-05-05T21:23:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/shnwazdeveloper/sayarobot","commit_stats":null,"previous_names":["shnwazdeveloper/sayarobot"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/shnwazdeveloper/sayarobot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shnwazdeveloper%2Fsayarobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shnwazdeveloper%2Fsayarobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shnwazdeveloper%2Fsayarobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shnwazdeveloper%2Fsayarobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shnwazdeveloper","download_url":"https://codeload.github.com/shnwazdeveloper/sayarobot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shnwazdeveloper%2Fsayarobot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33773782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-01T12:03:23.241Z","updated_at":"2026-06-01T12:03:24.036Z","avatar_url":"https://github.com/shnwazdeveloper.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sayarobot\n\n[![Python](https://img.shields.io/badge/python-3.10-blue)](https://www.python.org/)\n[![Pyrogram](https://img.shields.io/badge/telegram-pyrogram-green)](https://pyrogram.org/)\n[![Railway](https://img.shields.io/badge/deploy-railway-purple)](https://railway.app/)\n[![License](https://img.shields.io/badge/license-GPL--3.0-lightgrey)](https://www.gnu.org/licenses/gpl-3.0.en.html)\n\n`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.\n\n## Highlights\n\n- Group moderation: bans, mutes, warnings, locks, reports, approvals, blacklist, rules, and admin tools.\n- Community tools: notes, filters, birthday messages, welcome helpers, AFK, tagging, and utility commands.\n- AI features: Gemini-powered chatbot support through `google-genai`.\n- Media experience: video start screen with direct buttons for Add to group, Help, Support, Channel, and Source.\n- Deployment-ready: Dockerfile and Railway config are included.\n- MongoDB storage: group settings, notes, warnings, disabled commands, chatbot data, and bot state.\n\n## Start Menu\n\nThe default `/start` menu uses direct Telegram buttons:\n\n```text\nAdd me to your group\nHelp\nSupport | Channel\nSource\n```\n\nTelegram controls inline-button colors and URL arrows in the app UI. The bot controls the button text, layout, callback actions, and direct links.\n\n## Deploy On Railway\n\n1. Fork or clone this repository.\n2. Create a Railway project from the GitHub repo.\n3. Railway will use the included `Dockerfile` and `railway.json`.\n4. Add the required environment variables.\n5. Deploy the worker service.\n\nRailway start command:\n\n```bash\npython -m Curse\n```\n\n## Required Variables\n\nSet these in Railway before starting the bot:\n\n```env\nENV=ANYTHING\nBOT_TOKEN=\nAPI_ID=\nAPI_HASH=\nOWNER_ID=\nMESSAGE_DUMP=\nDB_URI=\nDB_NAME=sayarobot\n```\n\nImportant notes:\n\n- `BOT_TOKEN` must be the full token from `@BotFather`.\n- `API_ID` and `API_HASH` come from `https://my.telegram.org`.\n- `MESSAGE_DUMP` must be a supergroup or channel id starting with `-100`.\n- The bot must be added to `MESSAGE_DUMP` and allowed to send messages.\n- `DB_URI` must be a full MongoDB URI, not a shortened value such as `mongodb...`.\n\n## Optional Variables\n\nAdmin and support:\n\n```env\nDEV_USERS=\nSUDO_USERS=\nWHITELIST_USERS=\nSUPPORT_GROUP=YourMoreBotsChannel\nSUPPORT_CHANNEL=YourMoreBotsChannel\nPREFIX_HANDLER=/ !\nTIME_ZONE=Asia/Kolkata\nWORKERS=8\n```\n\nAI and extras:\n\n```env\nGENIUS_API=\nGEMINI_API_KEY=\nGEMINI_MODEL=gemini-2.5-flash\nCHATBOT_DB_URI=\nCHATBOT_DB_NAME=sayarobot\nBDB_URI=\nRMBG_API=\n```\n\nFor lyrics, only `GENIUS_API` is used. Genius Client ID and Client Secret are not needed.\n\n## Local Run\n\nCreate a `.env` file from `.env.example`, then install dependencies and start the bot:\n\n```bash\npython -m pip install -r requirements.txt\npython -m Curse\n```\n\nDocker:\n\n```bash\ndocker build -t sayarobot .\ndocker run --env-file .env sayarobot\n```\n\n## Troubleshooting\n\n`BOT_TOKEN is not a valid Telegram bot token`\n\nUse the full token from `@BotFather`. Do not use a Genius token, OAuth token, client ID, or client secret.\n\n`MESSAGE_DUMP starts wrong`\n\nUse a Telegram supergroup or channel id that starts with `-100`.\n\n`MongoDB host invalid`\n\nPaste the complete MongoDB URI into Railway. Do not paste a shortened or hidden value containing `...`.\n\n`Telegram login failed`\n\nCheck `BOT_TOKEN`, `API_ID`, and `API_HASH` in Railway. Redeploy after editing variables.\n\n`Lyrics command does not work`\n\nSet `GENIUS_API` to the Genius Client Access Token.\n\n## Repository\n\n- Source: `https://github.com/shnwazdeveloper/sayarobot.git`\n- Support: `https://t.me/YourMoreBotsChannel`\n- Updates: `https://t.me/YourMoreBotsChannel`\n\n## License\n\nThis project is released under the GNU General Public License v3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshnwazdeveloper%2Fsayarobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshnwazdeveloper%2Fsayarobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshnwazdeveloper%2Fsayarobot/lists"}