def orders_cmd(bot, update):
update.message.reply_text("Retrieving orders...")
# Send request to Kraken to get open orders
res_data = kraken_api("OpenOrders", private=True)
# If Kraken replied with an error, show it
if res_data["error"]:
error = btfy(res_data["error"][0])
update.message.reply_text(error)
logger.error(error)
return
# Reset global orders list
global orders
orders = list()
# Go through all open orders and show them to the user
if res_data["result"]["open"]:
for order_id, order_details in res_data["result"]["open"].items():
# Add order to global order list so that it can be used later
# without requesting data from Kraken again
orders.append({order_id: order_details})
order_desc = trim_zeros(order_details["descr"]["order"])
update.message.reply_text(bold(order_id + "\n" + order_desc), parse_mode=ParseMode.MARKDOWN)
else:
update.message.reply_text("No open orders")
return ConversationHandler.END
reply_msg = "What do you want to do?"
buttons = [
KeyboardButton(KeyboardEnum.CLOSE_ORDER.clean()),
KeyboardButton(KeyboardEnum.CLOSE_ALL.clean())
]
close_btn = [
KeyboardButton(KeyboardEnum.CANCEL.clean())
]
reply_mrk = ReplyKeyboardMarkup(build_menu(buttons, n_cols=2, footer_buttons=close_btn))
update.message.reply_text(reply_msg, reply_markup=reply_mrk)
return WorkflowEnum.ORDERS_CLOSE
# Choose what to do with the open orders
telegram_kraken_bot.py 文件源码
python
阅读 17
收藏 0
点赞 0
评论 0
评论列表
文章目录