![](/img/trans.png)
[英]Is there a way to get profile picture updates using python Telegram-Bot?
[英]Python telegram-bot: Prompt for another input
我有一個 Python 機器人,它提示用戶從要更改的 ID 列表中進行選擇,這個想法是用戶將選擇 ID,然后提供他們想要更改的 ID。
這是我的代碼:
def build_menu(buttons, n_cols):
menu = [buttons[i:i + n_cols] for i in range(0, len(buttons), n_cols)]
return menu
def change_process(bot, update):
global action
query = update.callback_query
NAME = query.data
if action == 'Change':
# Prompt user for new value
# run sql query to update
def change(bot, update, args):
global action
action = 'Change'
sql = sqlite3.connect('SQL_FILE.db',detect_types=sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES)
cur = sql.cursor()
button_list = [InlineKeyboardButton(s[0], callback_data=s[0]) for s in cur.execute('SELECT Name FROM ID ORDER BY Name ASC')]
reply_markup = InlineKeyboardMarkup(build_menu(button_list, n_cols=3))
update.message.reply_text('ID to change:', reply_markup=reply_markup)
action = None
updater = Updater(token='XXXX:XXXX')
dispatcher = updater.dispatcher
dispatcher.add_handler(CallbackQueryHandler(change_process))
arg_handler = CommandHandler('change', change, pass_args=True)
dispatcher.add_handler(arg_handler)
這是我希望程序運行的方式:
用戶運行/change
Bot 返回可以更改的 ID 列表(使用InlineKeyboardMarkup()
和build_menu()
用戶選擇其中一個 ID
Bot 提示用戶輸入新值
用戶發送給機器人的下一條消息將是要使用的值
Bot 將使用用戶選擇的 ID 以及新值並運行查詢以在數據庫中更新
Bot 評論說它用“USER VALUE”的新值更新了 ID
我遇到的問題是我可以提示用戶選擇 ID,我可以提示用戶輸入,但我不知道如何在單個函數中同時使用這兩個值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.