CONFIGURATIONS.md

December 27, 2025 ยท View on GitHub

1. Required Fields

VariableTypeDescription
BOT_TOKENstrTelegram Bot Token obtained from @BotFather.
OWNER_IDintTelegram User ID (not username) of the bot's owner.
TELEGRAM_APIintAPI ID used to authenticate your Telegram account. Obtainable from my.telegram.org.
TELEGRAM_HASHstrAPI hash used to authenticate your Telegram account. Obtainable from my.telegram.org.

2. Optional Fields

VariableTypeDescription
TG_PROXYdictProxy settings as dict. Example: {"scheme": "socks5", "hostname": "11.22.33.44", "port": 1234, "username": "user", "password": "pass"}. Username/password optional.
USER_SESSION_STRINGstrUse to access Telegram premium features. Generate using python3 generate_string_session.py. Note: Use in supergroup only.
DATABASE_URLstrMongoDB connection string. See Create Database. Stores bot/user settings, RSS feeds, and task history.
CMD_SUFFIXstr | intSuffix to add at the end of all commands.
AUTHORIZED_CHATSstrUser/Chat/Topic IDs to authorize. Format: chat_id, `chat_id
SUDO_USERSstrUser IDs with sudo permission. Separate by spaces.
UPLOAD_PATHSdictDict with upload paths. Example: {"path 1": "remote:", "path 2": "gdrive id", ...}
DEFAULT_UPLOADstrrc for RCLONE_PATH, gd for GDRIVE_ID. Default: rc. Read More.
INCLUDED_EXTENSIONSstrFile extensions to be uploaded/cloned. EXCLUDED_EXTENSIONS will be ignore if you filled this ! Separate them by spaces.
EXCLUDED_EXTENSIONSstrFile extensions to skip during processing. Separate by spaces.
INCOMPLETE_TASK_NOTIFIERboolNotify after restart for incomplete tasks. Requires DATABASE_URL and the bot to be in a supergroup. Default: False.
FILELION_APIstrAPI key from FileLion.
STREAMWISH_APIstrAPI key from StreamWish.
YT_DLP_OPTIONSdictDict of yt-dlp options. Docs. Convert script.
USE_SERVICE_ACCOUNTSboolUse Google API service accounts. See guide.
FFMPEG_CMDSdictDict with lists of ffmpeg commands. Start with arguments only. Use -ff key to apply. Add -del to auto-delete source. See example and notes.
NAME_SUBSTITUTEstrReplace/remove words/characters using source/target format. Use \ for escaping special characters.

3. GDrive Tools

VariableTypeDescription
GDRIVE_IDstrGoogle Drive Folder/TeamDrive ID or root.
IS_TEAM_DRIVEboolSet True if GDRIVE_ID refers to a TeamDrive. Default: False.
INDEX_URLstrIndex URL for the Google Drive. Reference.
STOP_DUPLICATEboolIf True, the bot will check for duplicate file/folder names in Google Drive before uploading. Default: False.

4. Rclone

VariableTypeDescription
RCLONE_PATHstrDefault Rclone upload path (e.g., myremote:path).
RCLONE_FLAGSstrAdditional Rclone flags. Use `--key:value
RCLONE_SERVE_URLstrURL for Rclone serve. Example: http://myip or http://myip:port.
RCLONE_SERVE_PORTintPort. Default: 8080.
RCLONE_SERVE_USERstrServe username.
RCLONE_SERVE_PASSstrServe password.

5. Update

VariableTypeDescription
UPSTREAM_REPOstrGitHub repo link. For private, use https://username:token@github.com/username/repo. Get token.
UPSTREAM_BRANCHstrBranch to use. Default: master.

6. Leech

VariableTypeDescription
LEECH_SPLIT_SIZEintSplit size in bytes for leeching. Default: 2GB (standard users), 4GB (Telegram premium users).
AS_DOCUMENTboolUpload leeched files as documents. Default: False (uploads as media).
USER_TRANSMISSIONboolUse user session for uploads/downloads in supergroups. Default: False.
HYBRID_LEECHboolSwitch between bot and user sessions for leeching based on file size. Default: False.
LEECH_DUMP_CHATlist[str/int]Chat/Channel ID(s) to send leeched files. Use -100 prefix for private channels or `chat_id
THUMBNAIL_LAYOUTstrLayout like 2x2, 4x4, 3x3, etc.

7. qBittorrent/Aria2c/Sabnzbd

VariableTypeDescription
TORRENT_TIMEOUTintTimeout in seconds for dead torrents.
BASE_URLstrBot URL. Example: http://myip or http://myip:port.
BASE_URL_PORTintPort. Default: 80.
WEB_PINCODEboolAsk PIN before file selection. Default: False.

8. JDownloader

VariableTypeDescription
JD_EMAILstrEmail for My JDownloader.
JD_PASSstrPassword for My JDownloader. You may zip your cfg/ directory as cfg.zip and include it in the repository.

9. Sabnzbd

VariableTypeDescription
USENET_SERVERSlistList of dictionaries with Usenet server configurations. Example:
[{'name': 'main', 'host': '', 'port': 563, 'timeout': 60, 'username': '', 'password': '', 'connections': 8, 'ssl': 1, 'ssl_verify': 2, 'ssl_ciphers': '', 'enable': 1, 'required': 0, 'optional': 0, 'retention': 0, 'send_group': 0, 'priority': 0}]

More info

10. RSS

VariableTypeDescription
RSS_DELAYintTime interval in seconds. Default: 600.
RSS_SIZE_LIMITintMax item size in bytes. Default: 0.
RSS_CHATstr/intChat ID or username. Use `channel

Note: RSS_CHAT is mandatory. Requires either USER_SESSION_STRING or linked group/channel setup.

11. Queue System

VariableTypeDescription
QUEUE_ALLintMax concurrent upload + download tasks.
QUEUE_DOWNLOADintMax concurrent download tasks.
QUEUE_UPLOADintMax concurrent upload tasks.
VariableTypeDescription
HYDRA_IPstrIP address of NZBHydra2.
HYDRA_API_KEYstrAPI key from NZBHydra2.

13. Aeon-Specific Configurations

VariableTypeDescription
METADATA_KEYstrKey used to tag or fetch metadata.
WATERMARK_KEYstrKey used for watermarking files or content.
SET_COMMANDSboolWhether to register bot commands on startup.
TOKEN_TIMEOUTintTimeout in seconds for token/session expiry.
PAID_CHANNEL_IDintTelegram Channel ID that users must join to use the bot without a token.
PAID_CHANNEL_LINKstrPublic or invite link to the paid Telegram channel.
DELETE_LINKSboolIf True, automatically delete download or share links after a certain period or action.
FSUB_IDSstrComma-separated Chat IDs of channels users must subscribe to (forced subscription).
LOG_CHAT_IDintChat ID where leech logs are sent.
LEECH_FILENAME_CAPTIONstrTemplate caption for leeched/downloaded filenames.
INSTADL_APIstrURL or endpoint for InstaDL API integration.
HEROKU_APP_NAMEstrName of your Heroku app, used to get BASE_URL automatically.
HEROKU_API_KEYstrAPI key for accessing and controlling your Heroku app.
NAME_PREFIXstrName prefix.