gpt4 book ai didi

python-3.x - 电报机器人 : how to ask for user input on button click

转载 作者:行者123 更新时间:2023-12-03 21:24:59 25 4
gpt4 key购买 nike

我一直在尝试创建一个电报机器人。我用 Python 编码,以下是我到目前为止所做的。

import logging
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler

logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)
logger = logging.getLogger(__name__)

@app.route("/")
def start(bot, update):
help_text = 'text'
keyboard = [[InlineKeyboardButton("Button_1", url=('url'))]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text(help_text, reply_markup=reply_markup)


def button(bot, update):
query = update.callback_query
bot.edit_message_text(text="Selected option: {}".format(query.data),
chat_id=query.message.chat_id,
message_id=query.message.message_id)

def error(bot, update, error):
logger.warning('Update "%s" caused error "%s"', update, error)


def main():
updater = Updater(<TOKEN>)
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(CallbackQueryHandler(button))
updater.dispatcher.add_error_handler(error)
updater.start_polling()
updater.idle()


if __name__ == "__main__":
main()

我一直在尝试在单击 Button_1 时实现用户输入,即,在单击 Button_1 时,用户应该收到一 strip 有输入字段的消息(例如:请输入您最喜欢的歌曲)。任何指示或建议?

最佳答案

我认为你需要使用 ConversationHandler为了那个原因。就像是:

  • 开始接受按钮后
  • Button 1打印 please enter your favorite song并等待文本
  • on text 打印文本并结束对话

  • example in library你用。

    关于python-3.x - 电报机器人 : how to ask for user input on button click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48847277/

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