Не понимаю как сделать функцию для приёма вопросов пользователей
Делал бота для своего канала используя pyTelegramBotAPI и столкнулся с такой проблемой: мне нужно, чтобы пользователи нажимая на inline кнопку "Задать вопрос" переходили в меню, где могут задать свой вопрос и он отправится в другой чат. Я еще только начинаю и не совсем понимаю как это реализовать и если возможно, упростите код. И я был бы весьма признателен, если бы вы каждую команду хотя бы кратко пояснили # в коде, так я бы смог лучше понять что да как работает.
import telebot
from telebot import types
bot = telebot.TeleBot('тут мой токен')
@bot.message_handler(commands=['start'])
def start(message):
kb = types.InlineKeyboardMarkup(row_width=1)
kn1 = types.InlineKeyboardButton(text='Принимаю', callback_data='prinimay')
kb.add(kn1)
bot.send_message(message.chat.id, f'Тут якобы правила пользования', parse_mode="HTML", reply_markup=kb)
@bot.callback_query_handler(func=lambda callback: callback.data)
def check_callback_data(callback):
if callback.data == 'prinimay':
kb = types.InlineKeyboardMarkup()
kn = types.InlineKeyboardButton(text='Задать вопрос', callback_data='zadat_vopros')
kb.add(kn)
bot.edit_message_text(chat_id=callback.message.chat.id, message_id=callback.message.id, text=f'Бот к вашим услугам \nЕсли возникли вопросы, используйте меню ниже', parse_mode="HTML", reply_markup=kb)
kb.row(kn)
if callback.data == 'zadat_vopros':
kb = types.InlineKeyboardMarkup()
kn = types.InlineKeyboardButton(text='Вернуться', callback_data='vernyca')
kb.add(kn)
bot.edit_message_text(chat_id=callback.message.chat.id, message_id=callback.message.id, text='Пожалуйста, не стесняйтесь, и напишите мне свой вопрос. \nЯ обязательно отвечу на него', parse_mode="HTML", reply_markup=kb)
kb.row(kn)
if callback.data == 'vernyca':
kb = types.InlineKeyboardMarkup()
kn = types.InlineKeyboardButton(text='Задать вопрос', callback_data='zadat_vopros')
kb.add(kn)
bot.edit_message_text(chat_id=callback.message.chat.id, message_id=callback.message.id, text=f'Бот к вашим услугам \nЕсли возникли вопросы, пожалуйста, используйте меню ниже', parse_mode="HTML", reply_markup=kb)
kb.row(kn)
if __name__ == '__main__':
bot.polling(none_stop=True, interval=0)