A Telegram personal bot for sending text messages anonynmously, Saving Restricted Content, and Much more.
BOT_TOKENThe telegram bot Token.OWNER_IDsString with IDs which are owner of the bot, Seperated by spaces (e.g10 11,1030 1110 2000).GROUP_IDGroup ID where the FORWARD bot will send user dm to a specific topic, make sure the Bot is Admin of the Group.API_IDYour Telegram account api_id, can be collected from my.telegram.org.API_HASHYour Telegram account api_hash, can be collected from my.telegram.org.STRING_SESSIONPyrogram String Session, if you don't have then use theget_string_session.pyto generate one.OWNER_USERNAMEPublic username of the Owner, it will be shown to normal users.MONGO_URIMongoDB database URI, You can collect one from MongoDB Atlas.DUMP_CHATChannel ID where the SRC Module copies all the data and then copy it to the User, Please Note: The Bot should have Post Permission and the Channel shouldn't restrict the content forwarding from the channel in order the bot to work.CACHESet it to true/yes if you want the bot to quickly copy the items to the user that is already saved by the bot, otherwise set it to false/no, Default is false/no. The DUMP_CHAT Environment must be set otherwise it will throw an error.SPAMWATCH_TOKENSet this token, if you want this bot to automatically ban those users who are already banned in SpamWatch(Applicable to new users only, old users are not affected). For more information, visit docs.spamwat.ch.ENABLE_COMBOTSet it to true/yes if you want to enable combot.org protection (Applicable to new users only, old users are not affected). Otherwise set it to false/no. Default is true/yes.NTFY_TOPICSet this to enable remote logging, It will send you notification when an error occurred in the bot server, You need to create a topic at first, visit ntfy.sh for more information. (Make sure that curl and nc is installed into the system, otherwise the service won't work)
Use the Docker image to deploy into any kind of VPS
- Clone this repo (or Fork it depends on the VPS)
- Use
sh run.shto start the bot. (It should be the starting point of the bot)
Note: Don't run the main.py file directly, for handling the power off/restart signal the run.sh
is required to be executed as the parent process of main.py. Also it handles all kind of locks
to prevent race conditions.
- Pyrofork: Used for interacting with the Telegram API.
- Flask: Used for exposing a specific port to work
- Save Restricted Content Repo: Used as the base repo for the SRC Module
- httpx: For interacting with External HTTP APIs (i.e Combot API, SpamWatch API)
- Termbin: For pasting all the logs for debugging (Don't try to leak any sensitive information)
- ntfy: For letting the owner know if any server side error occurred