gpt4 book ai didi

Python Telegram Bot : Prompt for another input

转载 作者:行者123 更新时间:2023-12-04 17:44:20 29 4
gpt4 key购买 nike

我有一个 Python 机器人,提示用户从 ID 列表中选择要更改的 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 将使用用户选择的 ID 以及新值并运行查询以在数据库中更新

机器人评论说它用新值“USER VALUE”更新了 ID

我遇到的问题是我可以提示用户选择 ID 并且可以提示用户输入,但我不知道如何同时执行这两个操作以及如何在一个函数中使用这两个值。

最佳答案

我相信您需要查看 conversation examples python-telegram-bot 库提供:

还有一些图表解释了向用户询问数据的流程。

关于Python Telegram Bot : Prompt for another input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52825676/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com