Не работает часть кода с кнопками TeleBot
import telebot
from telebot.apihelper import send_message
import configur
from telebot import types
client = telebot.TeleBot(configur.config['token'])
@client.message_handler(commands=['info'])
def get_user_info(message):
markup_inline = types.InlineKeyboardMarkup()
item_yes = types.InlineKeyboardButton(text='ДА', callback_data='yes')
item_no = types.InlineKeyboardButton(text='НЕТ' , callback_data='no')
markup_inline.add(item_yes, item_no)
client.send_message(message.chat.id, 'Would you like to know a little information about you',
reply_markup=markup_inline
)
@client.callback_query_handler(func=lambda call: True)
def answer(call):
if call.data == 'yes':
markup_reply = types.ReplyKeyboardMarkup(resize_keyboard=True)
item_id = types.KeyboardButton('MY ID')
item_username = types.KeyboardButton('MY NICKNAME')
markup_reply.add(item_id, item_username)
client.send_message(call.message.chat.id, 'Click on one of the buttons',
reply_markup=markup_reply
)
elif call.data == 'no':
pass
@client.message_handler(content_types=['text'])
def get_text(message):
if message.text == 'MY ID':
client.send_message(message.chat.id, f'Your ID: {message.from_user.id}')
elif message.text == 'MY NICKNAME':
client.send_message(message.chat.id, f'Your Nickname: {message.from_user.first_name} {message.from_user.last_name}')
def bot_text(message):
if message.text.lower() == 'hello':
client.send_message(message.chat.id, 'Hello, unknown user)')
elif message.text.lower() == 'what to see?' or message.text.lower() == 'what to see':
client.send_message(message.chat.id, 'Илюзия обмана')
client.polling(none_stop=True, interval=0)
Ответы (1 шт):
Автор решения: MyZik
→ Ссылка
У Вас отсутсвует декоратор для функции bot_text():
@client.message_handler(content_types=['text'])
def bot_text(message):
...