@manmai

Как исправить ошибку «name 'message' is not defined» в Телеграм Боте?

Подскажите как исправить эту ошибку. Не могу понять где нужно определить Message
import telebot #подключение библиотеки Телеграм бота
from telebot import types

token = 'Токен'
bot = telebot.TeleBot('Токен')

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, 'Меня зовут бот. Чем могу вам помочь?', reply_markup=key)

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    bot.send_message(message.chat.id, 'К сожалению я еще не умею читать текст. Воспользуйтесь главным меню:', reply_markup=key)

markup = types.ReplyKeyboardMarkup()
markup.row('Калькулятор','Расписание')
markup.row('О нас','Помощь')
markup.row('Обратная связь')
bot.send_message(message.chat.id, "Выберите пункт меню:", reply_markup=markup) #На этом месте cmd определяет ошибку NameError: name 'message' is not defined

bot.polling(none_stop=True, interval=0)
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix
yellow
Так у вас не определена переменная message. Что тут.
Где вы хотите это сообщение применить? Поместите его в функцию /start либо в get_text_messages
Ответ написан
SuckMyPython
@SuckMyPython
matrix.polling(none_stop=True)
Ту вообще многое неправильно. Вот так будет лучше:
# -*- coding: utf-8 -*-
#^^^Если используешь русский текст указывай кодировку на всякий случай.

import telebot
from telebot import types

token = 'здесьможетбытьвашатокешка'
bot = telebot.TeleBot(token)

@bot.message_handler(commands=['start'])
def start_message(message):
	bot.send_message(message.chat.id, 'Меня зовут бот. Чем могу вам помочь?')	#Здесь не надо отсылать клавиатуру, тем более ту которая не создана!

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
	kb = types.ReplyKeyboardMarkup()
	kb.row('Калькулятор','Расписание')
	kb.row('О нас','Помощь')
	kb.row('Обратная связь')
	bot.send_message(message.chat.id, 'К сожалению я еще не умею читать текст. Воспользуйтесь главным меню:', reply_markup=kb)	#Отправка меню
	#bot.send_message(message.chat.id, "Выберите пункт меню:", reply_markup=markup) - Эта строка вообще лишняя, главное меню отправляется строкой выше.

bot.polling(none_stop=True, interval=0)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
OnederX Москва
от 100 000 до 120 000 ₽
от 80 000 до 120 000 ₽
iDWELL Москва
от 150 000 до 210 000 ₽
14 авг. 2020, в 11:57
1000 руб./за проект
14 авг. 2020, в 11:53
4000 руб./за проект
14 авг. 2020, в 11:29
50000 руб./за проект