@nurs948

Ошибка 'message' is not defined в чем может быть проблема?

есть handler

@bot.message_handler(commands=['help', 'start'])
def send_welcome(message):
    bot.send_message(message.from_user.id, f'Здравствуйте {message.from_user.first_name}Добро пожаловать в наш магазин детской одежды!')
    markup = telebot.types.InlineKeyboardMarkup(row_width=1)
    button1 = telebot.types.InlineKeyboardButton(text=' Контакты', 
    callback_data='contacts')
    button2 = telebot.types.InlineKeyboardButton(text=' Адреса', 
    callback_data='address')
    button3 = telebot.types.InlineKeyboardButton(text=' Поиск товара по номеру', 
    callback_data='search')
    markup.add(button1, button2, button3)
    bot.send_message(chat_id=message.chat.id, 
    text='Выберите один из команд ниже',reply_markup=markup)
    register_user(message.from_user.id, message.from_user.username,
                  message.from_user.first_name, message.from_user.last_name)


есть еще callback
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
    if call.data == 'contacts':
        bot.send_message(chat_id=<b>message.chat.id</b>, 
        text='Контакты',reply_markup=markup)
        print('press button "contacts"')
    if call.data == 'address':
        print('press button "address"')
    if call.data == 'search':
        print('press button "search"')


Вопрос: почему при отправлении ответа, скрипт не может получить данные message.chat_id???
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 2
@twistfire92
Python backend developer
Потому что переменная message не определена. вам надо от call отталкиваться
call.message.chat.id
Ответ написан
Комментировать
Geza420
@Geza420
massage.chat.id = ай ди чата, откуда прислано сообщение.
call.message.chat.id = ай ди чата, откуда послан калбек.

у тебя тут не сообщение принимается, а калбек

call.message.chat.id - это тебе надо
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы