from telegram.ext import Application, CommandHandler, MessageHandler, CallbackQueryHandler from functools import partial from config import BotConfig from models import Gates, Users from handlers import * bot_config = BotConfig("lagomareGateKeeperBot") gates = Gates() users = Users() def main(): app = Application.builder().token(bot_config.token).post_init(partial(post_init, bot_config=bot_config)).build() app.add_handler(MessageHandler(None, partial(updateuser, users=users)), group=1) app.add_handler(CommandHandler("start", partial(start, users=users))) app.add_handler(CommandHandler("setcredentials", partial(setcredentials, users=users))) app.add_handler(CommandHandler("opengate", partial(opengate, users=users, gates=gates))) app.add_handler(CommandHandler("requestaccess", partial(requestaccess, users=users))) app.add_handler(CommandHandler("grantaccess", partial(grantaccess, users=users))) app.add_handler(CallbackQueryHandler(partial(handle_main_menu_callback, users=users, gates=gates), pattern="^(open_gate_menu|request_access)$")) app.add_handler(CallbackQueryHandler(partial(handle_gate_open_callback, users=users, gates=gates), pattern="^opengate_")) app.run_polling() if __name__ == "__main__": main()