Search code examples
pythonbotshandlerbale-messengerbalebot

how to handle receipt_message in balebot


I've used balebot and developed a shop bot with it. Now i have a problem. I need a way to check if request money was paid successfully or not. Is there any filter for it?


Solution

  • I had the same problem before. After updating python balebot platform to version 1.1.3 BankMessageFilter() has been added to it. remember Receipt message is a type of BankMessage. Here is a simple code:

    @dispatcher.message_handler(PhotoFilter())
    def purchase_message(bot, update):
        message = update.get_effective_message()
        user_peer = update.get_effective_user()
        first_purchase_message = PurchaseMessage(msg=message, account_number=6037991067471130, amount=100,
                                                 money_request_type=MoneyRequestType.normal)
        bot.send_message(first_purchase_message, user_peer, success_callback=success, failure_callback=failure)
        dispatcher.register_conversation_next_step_handler(update, [MessageHandler(BankMessageFilter(), payment),
                                                                    MessageHandler(DefaultFilter(), default_handler)])
    
    
    def payment(bot, update):
        message = update.get_effective_message()
        print("message:", message)
        success_payment = TextMessage("Thanks, your payment was successful")
        bot.reply(update, success_payment, success_callback=success, failure_callback=failure)
        dispatcher.finish_conversation(update)