def test_with_pattern(self, callback_query): handler = CallbackQueryHandler(self.callback_basic, pattern='.*est.*') assert handler.check_update(callback_query) callback_query.callback_query.data = 'nothing here' assert not handler.check_update(callback_query)
def test_with_pattern(self, callback_query): handler = CallbackQueryHandler(self.callback_basic, pattern=".*est.*") assert handler.check_update(callback_query) callback_query.callback_query.data = "nothing here" assert not handler.check_update(callback_query) callback_query.callback_query.data = None callback_query.callback_query.game_short_name = "this is a short game name" assert not handler.check_update(callback_query)
def test_with_callable_pattern(self, callback_query): class CallbackData: pass def pattern(callback_data): return isinstance(callback_data, CallbackData) handler = CallbackQueryHandler(self.callback_basic, pattern=pattern) callback_query.callback_query.data = CallbackData() assert handler.check_update(callback_query) callback_query.callback_query.data = "callback_data" assert not handler.check_update(callback_query)
def test_basic(self, dp, callback_query): handler = CallbackQueryHandler(self.callback_basic) dp.add_handler(handler) assert handler.check_update(callback_query) dp.process_update(callback_query) assert self.test_flag
def test_with_type_pattern(self, callback_query): class CallbackData: pass handler = CallbackQueryHandler(self.callback_basic, pattern=CallbackData) callback_query.callback_query.data = CallbackData() assert handler.check_update(callback_query) callback_query.callback_query.data = 'callback_data' assert not handler.check_update(callback_query) handler = CallbackQueryHandler(self.callback_basic, pattern=bool) callback_query.callback_query.data = False assert handler.check_update(callback_query) callback_query.callback_query.data = 'callback_data' assert not handler.check_update(callback_query)
def dispatch_bot_webhook(request): try: update = telegram.Update.de_json(request.get_json(force=True), bot) print(update) # Only allow defined users to use the bot if update.effective_user.username not in os.environ[ "COMMUTE_BOT_USERS"].split(","): return ("Nothing to gain here") print("passed user check") callback_query_filter = CallbackQueryHandler(callback_query_callback) handler = None try: if Filters.command.filter(update.message): print("command_handler") handler = command_callback except AttributeError: None try: if Filters.location.filter(update.message): print("location_handler") handler = location_callback except AttributeError: None try: if Filters.text.filter(update.message): print("text_handler") handler = text_callback except AttributeError: None try: if callback_query_filter.check_update(update): print("callback_query_filter") handler = callback_query_callback except AttributeError: None handler(update) except Exception as e: print(e) bot.send_message("An error occured.")
def test_other_update_types(self, false_update): handler = CallbackQueryHandler(self.callback_basic) assert not handler.check_update(false_update)