Files
lagomareGateKeeperBot/bot.py
2025-08-22 02:56:02 +02:00

29 lines
1.6 KiB
Python

from telegram.ext import Application, CommandHandler, MessageHandler, CallbackQueryHandler
from functools import partial
from config import BotConfig
from services import GatesService, AVConnectService, UsersService
from repository import GatesRepository, UsersRepository
from handlers import *
bot_config = BotConfig("lagomareGateKeeperBot")
gates_repository = GatesRepository()
avconnect_service = AVConnectService()
gates_service = GatesService(gates_repository, avconnect_service)
users_repository = UsersRepository()
users_service = UsersService(users_repository)
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(handle_message, users=users_service)), group=1)
app.add_handler(CommandHandler("start", partial(start, users=users_service)))
app.add_handler(CommandHandler("setcredentials", partial(setcredentials, users=users_service)))
app.add_handler(CommandHandler("opengate", partial(opengate, users=users_service, gates=gates_service)))
app.add_handler(CommandHandler("requestaccess", partial(requestaccess, users=users_service)))
app.add_handler(CommandHandler("grantaccess", partial(grantaccess, users=users_service)))
app.add_handler(CallbackQueryHandler(partial(handle_main_menu_callback, users=users_service, gates=gates_service), pattern="^(open_gate_menu|request_access)$"))
app.add_handler(CallbackQueryHandler(partial(handle_gate_open_callback, users=users_service, gates=gates_service), pattern="^opengate_"))
app.run_polling()
if __name__ == "__main__":
main()