diff --git a/userbot/uniborgconfig.py b/userbot/uniborgconfig.py new file mode 100644 index 0000000..a921bb7 --- /dev/null +++ b/userbot/uniborgconfig.py @@ -0,0 +1,112 @@ +import os +from telethon.tl.types import ChatBannedRights +ENV = bool(os.environ.get("ENV", False)) +if ENV: + import os + class Config(object): + LOGGER = True + # Get this value from my.telegram.org! Please do not steal + LOCATION = os.environ.get("LOCATION", None) + OPEN_WEATHER_MAP_APPID = os.environ.get("OPEN_WEATHER_MAP_APPID", None) + # Get your own ACCESS_KEY from http://api.screenshotlayer.com/api/capture + SCREEN_SHOT_LAYER_ACCESS_KEY = os.environ.get("SCREEN_SHOT_LAYER_ACCESS_KEY", None) + # Send .get_id in any group to fill this value. + PRIVATE_GROUP_BOT_API_ID = int(os.environ.get("PRIVATE_GROUP_BOT_API_ID", -100123456789)) + # Send .get_id in any channel to fill this value. ReQuired for @Manuel15 inspiration to work! + PRIVATE_CHANNEL_BOT_API_ID = int(os.environ.get("PRIVATE_CHANNEL_BOT_API_ID", -100123456789)) + # This is required for the plugins involving the file system. + TMP_DOWNLOAD_DIRECTORY = os.environ.get("TMP_DOWNLOAD_DIRECTORY", "./DOWNLOADS/") + # This is required for the speech to text module. Get your USERNAME from https://console.bluemix.net/docs/services/speech-to-text/getting-started.html + IBM_WATSON_CRED_URL = os.environ.get("IBM_WATSON_CRED_URL", None) + IBM_WATSON_CRED_PASSWORD = os.environ.get("IBM_WATSON_CRED_PASSWORD", None) + # This is required for the hash to torrent file functionality to work. + HASH_TO_TORRENT_API = os.environ.get("HASH_TO_TORRENT_API", "https://example.com/torrent/{}"); + # This is required for the @telegraph functionality. + TELEGRAPH_SHORT_NAME = os.environ.get("TELEGRAPH_SHORT_NAME", "X-Tra-Telegram") + # Get a Free API Key from OCR.Space + OCR_SPACE_API_KEY = os.environ.get("OCR_SPACE_API_KEY", None) + # Send .get_id in any group with all your administration bots (added) + G_BAN_LOGGER_GROUP = int(os.environ.get("G_BAN_LOGGER_GROUP", -100123456789)) + # TG API limit. An album can have atmost 10 media! + GOOGLE_SEARCH_COUNT_LIMIT = int(os.environ.get("GOOGLE_SEARCH_COUNT_LIMIT", 9)) + TG_GLOBAL_ALBUM_LIMIT = int(os.environ.get("TG_GLOBAL_ALBUM_LIMIT", 9)) + # Telegram BOT Token from @BotFather + TG_BOT_TOKEN_BF_HER = os.environ.get("TG_BOT_TOKEN_BF_HER", None) + TG_BOT_USER_NAME_BF_HER = os.environ.get("TG_BOT_USER_NAME_BF_HER", None) + # + # + # DO NOT EDIT BELOW THIS LINE IF YOU DO NOT KNOW WHAT YOU ARE DOING + # TG API limit. A message can have maximum 4096 characters! + MAX_MESSAGE_SIZE_LIMIT = 4095 + # set blacklist_chats where you do not want userbot's features + UB_BLACK_LIST_CHAT = set(int(x) for x in os.environ.get("UB_BLACK_LIST_CHAT", "").split()) + # maximum number of messages for antiflood + MAX_ANTI_FLOOD_MESSAGES = 10 + # warn mode for anti flood + ANTI_FLOOD_WARN_MODE = ChatBannedRights( + until_date=None, + view_messages=None, + send_messages=True + ) + # chat ids or usernames, it is recommended to use chat ids, + # providing usernames means an additional overhead for the user + CHATS_TO_MONITOR_FOR_ANTI_FLOOD = [] + # Get your own API key from https://www.remove.bg/ or + # feel free to use http://telegram.dog/Remove_BGBot + REM_BG_API_KEY = os.environ.get("REM_BG_API_KEY", None) + # Set to True if you want to block users that are spamming your PMs. + SLAP_USERNAME = os.environ.get("SLAP_USERNAME", None) + GITHUB_ACCESS_TOKEN = os.environ.get("GITHUB_ACCESS_TOKEN", None) + GIT_REPO_NAME = os.environ.get("GIT_REPO_NAME", None) + NO_P_M_SPAM = bool(os.environ.get("NO_P_M_SPAM", False)) + # define "spam" in PMs + NO_SONGS = bool(os.environ.get("NO_SONGS", False)) + MAX_FLOOD_IN_P_M_s = int(os.environ.get("MAX_FLOOD_IN_P_M_s", 3)) + # set to True if you want to log PMs to your PM_LOGGR_BOT_API_ID + NC_LOG_P_M_S = bool(os.environ.get("NC_LOG_P_M_S", False)) + # send .get_id in any channel to forward all your NEW PMs to this group + PM_LOGGR_BOT_API_ID = os.environ.get("PM_LOGGR_BOT_API_ID", None) + if PM_LOGGR_BOT_API_ID: + PM_LOGGR_BOT_API_ID = int(PM_LOGGR_BOT_API_ID) + # For Databases + # can be None in which case plugins requiring + # DataBase would not work + DB_URI = os.environ.get("DATABASE_URL", None) + # number of rows of buttons to be displayed in .helpme command + NO_OF_BUTTONS_DISPLAYED_IN_H_ME_CMD = int(os.environ.get("NO_OF_BUTTONS_DISPLAYED_IN_H_ME_CMD", 5)) + # specify command handler that should be used for the plugins + # this should be a valid "regex" pattern + COMMAND_HAND_LER = os.environ.get("COMMAND_HAND_LER", "\.") + # specify list of users allowed to use bot + # WARNING: be careful who you grant access to your bot. + # malicious users could do ".exec rm -rf /*" + SUDO_USERS = set(int(x) for x in os.environ.get("SUDO_USERS", "").split()) + # VeryStream only supports video formats + VERY_STREAM_LOGIN = os.environ.get("VERY_STREAM_LOGIN", None) + VERY_STREAM_KEY = os.environ.get("VERY_STREAM_KEY", None) + GROUP_REG_SED_EX_BOT_S = os.environ.get("GROUP_REG_SED_EX_BOT_S", r"(regex|moku|BananaButler_|rgx|l4mR)bot") + TEMP_DIR = os.environ.get("TEMP_DIR", None) + CHANNEL_ID = int(os.environ.get("CHANNEL_ID", -100)) + #Google Chrome Stuff + CHROME_DRIVER = os.environ.get("CHROME_DRIVER", "/app/.chromedriver/bin/chromedriver") + GOOGLE_CHROME_BIN = os.environ.get("GOOGLE_CHROME_BIN", "/app/.apt/usr/bin/google-chrome") + # Google Drive () + G_DRIVE_CLIENT_ID = os.environ.get("G_DRIVE_CLIENT_ID", None) + G_DRIVE_CLIENT_SECRET = os.environ.get("G_DRIVE_CLIENT_SECRET", None) + GDRIVE_FOLDER_ID = os.environ.get("GDRIVE_FOLDER_ID", None) + AUTH_TOKEN_DATA = os.environ.get("AUTH_TOKEN_DATA", None) + if AUTH_TOKEN_DATA != None: + os.makedirs(TMP_DOWNLOAD_DIRECTORY) + t_file = open(TMP_DOWNLOAD_DIRECTORY+"auth_token.txt","w") + t_file.write(AUTH_TOKEN_DATA) + t_file.close() + YOUTUBE_API_KEY = os.environ.get("YOUTUBE_API_KEY", None) + GDRIVE_FOLDER_ID = os.environ.get("GDRIVE_FOLDER_ID", None) + #MongoDB + MONGO_URI = os.environ.get("MONGO_URI", None) + #Lydia API + LYDIA_API = os.environ.get("LYDIA_API",None) +else: + class Config(object): + DB_URI = None + # Add your UniBorg Vars Here