@OmegaAidar

Почему Telegram бот не хочет отправлять сообщение в котором содержатся кнопки?

import telebot
import config

from telebot import types

bot = telebot.TeleBot(config.TOKEN)

@bot.message_handler(commands=['start'])
def welcome(message):
	bot.send_message(message.chat.id, "Привет сокровище")

def get_mood(message):
	bot.send.message(message.chat.id, 'Ты как?');
	keyboard = types.InlineKeyboardMarkup();
	key_bad = types.InlineKeyboardButton(text= 'плохо', callback_data='bad');
	keyboard.add(key_bad);
	key_middle = types.InlineKeyboardButton(text= 'падет', callback_data='middle');
	keyboard.add(key_middle);
	key_good = types.InlineKeyboardButton(text= 'хорошо', callback_data='good');
	keyboard.add(key_good);
@bot.callback_query_handler(func=lambda call: True)

def callback_amina(call):
	if call.data == "bad":
		bot.send_message(call.message.chat.id, 'почему? что случилось?');
		if call.data == "middle":
			bot.send_message(call.message.chat.id, 'что-то произошло? почему просто падет?');
			if call.data == "good":
				bot.send_message(call.message.chat.id, 'ураааа, потемуу?')

# RUN
bot.polling(none_stop=True, interval=0)
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Дай угадаю, реагирует на /start, и всё.
Сравни с официальным примером и подумай.
Подумал?

- get_mood() не отмечено декоратором @bot.message_handler(), бот про эту функцию ничего не знает. Он знает только про welcome().
- если не заметил, клавиатура должна отправляться вместе с сообщением, параметром reply_markup. Ты же отправляешь сообщение, потом создаёшь клавиатуру, и далее ничего с ней не делаешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы