Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в боте. переменная не определена. хотя определена

Олег Голубев Знаток (258), на голосовании 1 год назад
выдает ошибку:
import telegram from telegram.ext import CommandHandler, Updater from telegram import InlineKeyboardButton, InlineKeyboardMarkup import requests def start(update, context): update.message.reply_text('Привет! Я бот для получения информации о погоде. Напишите /weather, чтобы узнать погоду в вашем городе.') def weather(update, context): city = 'Mersin' api_key = '-------------------------------------------------' url = f'http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric' response = requests.get(url) data = response.json() temp = data['main']['temp'] weather_description = data['weather'][0]['description'] message = f'Current temperature in {city}: {temp}°C\nWeather: {weather_description}' keyboard = [[InlineKeyboardButton("Weather", callback_data='weather')]] reply_markup = InlineKeyboardMarkup(keyboard) update.message.reply_text(message, reply_markup=reply_markup) if __name__ == '__main__': bot_token = '__________________________________' updater = Updater(bot_token, use_context=True) dispatcher = updater.dispatcher dispatcher.add_handler(CommandHandler('start', start)) dispatcher.add_handler(CommandHandler('weather', weather)) updater.start_polling()
Голосование за лучший ответ
Doctor Strange Мыслитель (7801) 1 год назад
сделай одну строчку убери свой перенос
Олег ГолубевЗнаток (258) 1 год назад
я сделал это, что бы все поместилось на скрин
Doctor Strange Мыслитель (7801) Олег Голубев, скинь весь код через эту штуку
serd Мудрец (17897) 1 год назад
Ошибка происходит на строке 41. Ты показываешь файл только до 33 строки.
P.s. для вставки кода есть специальный блок. https://help.mail.ru/otvety-help/answers/text_decoration
Олег ГолубевЗнаток (258) 1 год назад
спасибо. сейчас сделаю
Chromatic Scale Просветленный (25911) 1 год назад
Похоже, что ошибка возникает из-за того, что вы пытаетесь использовать переменную updater в строке 41, но ее определение отсутствует в этом участке кода. Возможно, вы случайно удалили или переместили эту строку в коде.

Чтобы решить эту проблему, добавьте следующую строку перед строкой 41:
 updater = Updater(bot_token, use_context=True) 
Также убедитесь, что вы определили переменную bot_token ранее в коде, так как эта переменная используется при создании объекта Updater.
Похожие вопросы