import configparser import logging import os import requests from telegram.ext import Application, CommandHandler, InlineQueryHandler from commands import * from inline_query import inline_query logging.basicConfig( format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO ) # set higher logging level for httpx to avoid all GET and POST requests being logged logging.getLogger("httpx").setLevel(logging.WARNING) logger = logging.getLogger(__name__) config = configparser.ConfigParser() config.read('config.ini') def main() -> None: validate_config() application = Application.builder().token(os.getenv("BOT_TOKEN")).build() application.add_handler(CommandHandler("start", start_command)) application.add_handler(CommandHandler("help", help_command)) application.add_handler(CommandHandler("about", about_command)) application.add_handler(InlineQueryHandler(inline_query)) application.run_polling(allowed_updates=Update.ALL_TYPES) def validate_config(): # noinspection PyBroadException try: response = requests.get(f"https://{config.get('General', 'Domain')}/profile.json") if response.status_code != 200: raise except: print('Unable validate Domain in config.ini.') exit(1) if __name__ == "__main__": main()