Бот не реагирует на команду
Ссылка на архив Bot.py
Учу питон третий день, сильно не ругайтесь.
Нужно чтобы бот спросил "есть ли 18?", отреагировал на ответ "Да","Нет" и иной.
Сейчас он обрабатывает else, еще до того как я успел что-то написать. В прошлых версиях кода он не отвечал командами на Да и Нет, а просто говорил "Я не знаю что на это ответить", причем брал он этот ответ из другого блока команд. 
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == 'good':
...
elif call.data == 'bad':
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Не очень", reply_markup=None)
bot.send_message(call.message.chat.id, "Ответь мне на один вопрос:")
markup = types.ForceReply()
bot.send_message(call.message.chat.id, "Есть 18?", reply_markup=markup)
@bot.message_handler(content_types=['text'])
def text_handler(message):
text = message.text.lower()
if call.message.text == "Да":
photo = open ('photos\love.png')
bot.send_photo(call.message.chat.id, photo, caption='Рад помочь)')
elif call.message.text == "Нет":
bot.send_message(call.message.chat.id, "Это конец нашего диалога...")
else:
bot.send_message(call.message.chat.id, "Не хочешь - не отвечай, ладно")
elif call.data == 'cat':
...
"Блок выше" и кнопки, на которые нужно ответить.
@bot.message_handler()
def lalala(message):
if message.chat.type == 'private':
if message.text == 'ОК':
...
elif message.text == 'Чел ты':
markup = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
item2 = types.InlineKeyboardButton("Не очень", callback_data='bad')
markup.add(item1, item2)
bot.send_message(message.chat.id, 'Отлично, сам как?', reply_markup=markup)
elif message.text == 'Понятно':
...
else:
bot.send_message(message.chat.id, 'Я не знаю, что на это ответить ?')
Ответы (1 шт):
Автор решения: Андрей Крузлик
→ Ссылка
import telebot
from telebot import types
import config
bot = telebot.TeleBot(config.TelegramAPI)
keyboard = types.InlineKeyboardMarkup() #наша клавиатура
key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes') #кнопка «Да»
keyboard.add(key_yes) #добавляем кнопку в клавиатуру
key_no= types.InlineKeyboardButton(text='Нет', callback_data='no')
keyboard.add(key_no)
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Привет!\n Тебе есть 18 лет?", reply_markup=keyboard)
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
if call.data == "yes": #call.data это callback_data, которую мы указали при объявлении кнопки
bot.send_message(call.message.chat.id, 'Отлично')
elif call.data == "no":
bot.send_message(call.message.chat.id, 'Здесь только с 18 лет')
if __name__ == '__main__':
bot.polling(none_stop=True, interval=0)