Skip to content

Instantly share code, notes, and snippets.

@dev4Fun
Created May 17, 2018 00:52
Show Gist options
  • Save dev4Fun/3af0be071dfa4aad2139fc8adbd398e4 to your computer and use it in GitHub Desktop.
Save dev4Fun/3af0be071dfa4aad2139fc8adbd398e4 to your computer and use it in GitHub Desktop.
def process_trade(bot, update, user_data):
query = update.callback_query
if query.data == CONFIRM:
trade = TelegramBot.build_trade(user_data)
self._execute_trade(trade)
update.callback_query.message.reply_text(f'Scheduled: {trade}')
else:
show_help(bot, update)
return END_CONVERSATION
def handle_error(bot, update, error):
logging.warning('Update "%s" caused error "%s"', update, error)
update.message.reply_text(f'Unexpected error:\n{error}')
# configure our handlers
def build_conversation_handler():
entry_handler = CommandHandler('trade', filters=self.private_filter, callback=show_options)
conversation_handler = ConversationHandler(
entry_points=[entry_handler],
fallbacks=[entry_handler],
states={
TRADE_SELECT: [CallbackQueryHandler(process_trade_selection, pass_user_data=True)],
CANCEL_ORD: [CallbackQueryHandler(cancel_order)],
PROCESS_ORD_CANCEL: [MessageHandler(filters=Filters.text, callback=process_order_cancel, pass_user_data=True)],
COIN_NAME: [MessageHandler(filters=Filters.text, callback=process_coin_name, pass_user_data=True)],
AMOUNT: [MessageHandler(Filters.text, callback=process_amount, pass_user_data=True)],
PERCENT_CHANGE: [MessageHandler(Filters.text, callback=process_percent, pass_user_data=True)],
PRICE: [MessageHandler(Filters.text, callback=process_price, pass_user_data=True)],
PROCESS_TRADE: [CallbackQueryHandler(process_trade, pass_user_data=True)],
},
)
return conversation_handler
self.dispatcher.add_handler(CommandHandler('start', filters=self.private_filter, callback=show_help))
self.dispatcher.add_handler(build_conversation_handler())
self.dispatcher.add_error_handler(handle_error)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment