Я реализовал replybutton в telebot, и при нажатии на неё должен выводится текст 'Начать чат'. Я хочу сделать так, чтоб при выводе данного текста по средством нажатии кнопки код считывал то, что я написал текст конкретно 'Начать чат', и выводил мне сразу же другую кнопку, но хоть я и правильно написал код как на первый взгляд кажется, после нажатия на кнопку 'Начать чат' и посредством неё вывода одноимённого сообщения от меня или же если я сам напишу это в чат функция создания новой кнопки не работает, объясните и приложите правильный код если есть возможность, заранее спасибо
import config
import telebot
from telebot import types
from database import Database
db = Database('db.db')
bot = telebot.TeleBot(config.token)
@bot.message_handler(commands={'start'})
def start(message):
markup_inline = types.InlineKeyboardMarkup(row_width=2)
btn_inline1 = types.InlineKeyboardButton(
text='Что бот может?', callback_data='skills')
btn_inline2 = types.InlineKeyboardButton(
text='Как начать чат?', callback_data='start')
markup_inline.add(btn_inline1, btn_inline2)
start_text = f'Привет <b>{message.from_user.first_name}</b>, в этом анонимном чате ты сможешь общаться с людьми, при этом не раскрывая свою личность и профиль в телеграм, это поможет не предвзято поговорить с собеседником. Но так же и он будет анонимным, и тебе не удасться узнать его личность, <b><em>ну разве что если ты сам у него не спросишь)</em></b>'
bot.send_message(message.chat.id, start_text,
parse_mode='html', reply_markup=markup_inline)
# bot.send_message(message.chat.id, '')
@bot.callback_query_handler(func=lambda callback: callback.data)
def skills(call):
markup_inline = types.InlineKeyboardMarkup(row_width=2)
if call.data == 'skills':
btn_back = types.InlineKeyboardButton(
text='Назад <--', callback_data='back')
btn_skills = types.InlineKeyboardButton(
text='Конкретнее...', callback_data='skills_part2')
markup_inline.add(btn_back, btn_skills)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
text='На данном этапе развития бот может выполнять стандартные задачи для анонимного чат бота', reply_markup=markup_inline)
elif call.data == 'start_chat':
pass
elif call.data == 'back':
back_markup = types.InlineKeyboardMarkup(row_width=2)
btn_inline1 = types.InlineKeyboardButton(
text='Что бот может?', callback_data='skills')
btn_inline2 = types.InlineKeyboardButton(
text='Как начать чат?', callback_data='start_chat_back_on')
back_markup.add(btn_inline1, btn_inline2)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
text=f'Привет <b>{call.message.from_user.first_name}</b>, в этом анонимном чате ты сможешь общаться с людьми, при этом не раскрывая свою личность и профиль в телеграм, это поможет не предвзято поговорить с собеседником. Но так же и он будет анонимным, и тебе не удасться узнать его личность, <b><em>ну разве что если ты сам у него не спросишь)</em></b>', parse_mode='html', reply_markup=back_markup)
elif call.data == 'start_chat_back_on':
markup_reply_on = types.ReplyKeyboardMarkup(resize_keyboard=True)
start_chat_on = types.KeyboardButton(text='Начать чат')
markup_reply_on.add(start_chat_on)
bot.send_message(call.message.chat.id,
text=f'Начать чат очень просто! Нажми на кнопку ниже. \nПоиск собеседника может достигать более 5 минут, не волнуйтесь, мы уведомим вас о начале общения, как только собеседник будет найден. \nЧто бы остановить поиск есть одноимённая кнопка, а если же вы хотите снова начать поиск но подсказок снизу нет, просто напишите Начать чат, или введите команду /поиск\nУдачи, желаю приятного общения !', reply_markup=markup_reply_on)
elif call.data == 'start':
markup_reply = types.ReplyKeyboardMarkup(resize_keyboard=True)
start_chat = types.KeyboardButton(text='Начать чат')
markup_reply.add(start_chat)
bot.send_message(
call.message.chat.id, text=f'Начать чат очень просто! Нажми на кнопку ниже. \nПоиск собеседника может достигать более 5 минут, не волнуйтесь, мы уведомим вас о начале общения, как только собеседник будет найден. \nЧто бы остановить поиск есть одноимённая кнопка, а если же вы хотите снова начать поиск но подсказок снизу нет, просто напишите Начать чат, или введите команду /поиск\nУдачи, желаю приятного общения !', reply_markup=markup_reply)
@bot.message_handler(content_types=['text'])
def start_chat(message):
if message.text == 'Начать чат':
markup_reply_stop = types.ReplyKeyboardMarkup(resize_keyboard=True)
stop_chat = types.KeyboardButton('Остановить чат')
markup_reply_stop.add(stop_chat)
if __name__ == '__main__':
bot.infinity_polling()