我一直试图创建一个电报机器人。我用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时,用户应该收到带有输入字段的消息(例如:请输入您最喜欢的歌曲)。有什么指示或建议吗?
答案 0 :(得分:0)
我认为您需要为此使用 ConversationHandler
。类似的东西:
Button 1
打印 please enter your favorite song
并等待文本查看您使用的 example in library。