Я создаю бот телеграммы на python (используя эту структуру pyTelegramBotAPI). И я столкнулся с проблемой ввода данных пользователем. Мне нужно сохранить ввод пользователя (это может быть любой текст) после сообщения определенного бота. Например:
Бот: - Опишите, пожалуйста, вашу проблему.
Пользователь: - Наш компьютер не работает.
Затем мне нужно сохранить этот текст «Наш компьютер не работает» в какую-то переменную и перейти к следующему шагу. Вот мой код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import telebot
import constants
from telebot import types
bot = telebot.TeleBot(constants.token)
@bot.message_handler(commands=['start'])
def handle_start(message):
keyboard = types.InlineKeyboardMarkup()
callback_button = types.InlineKeyboardButton(text="Help me!", callback_data="start")
keyboard.add(callback_button)
bot.send_message(message.chat.id, "Welcome I am helper bot!", reply_markup=keyboard)
@bot.inline_handler(lambda query: len(query.query) > 0)
def query_text(query):
kb = types.InlineKeyboardMarkup()
kb.add(types.InlineKeyboardButton(text="Help me!", callback_data="start"))
results = []
single_msg = types.InlineQueryResultArticle(
id="1", title="Press me",
input_message_content=types.InputTextMessageContent(message_text="Welcome I am helper bot!"),
reply_markup=kb
)
results.append(single_msg)
bot.answer_inline_query(query.id, results)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == "start":
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Please describe your problem.")
#here I need wait for user text response, save it and go to the next step
У меня есть идея использовать message_id в инструкции, но все еще не могу ее реализовать. Как я могу это решить? Любые идеи? Спасибо.