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

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

Олег Голубев Знаток (258), на голосовании 10 месяцев назад
выдает ошибку:
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 Мыслитель (7589) 11 месяцев назад
сделай одну строчку убери свой перенос
Олег ГолубевЗнаток (258) 11 месяцев назад
я сделал это, что бы все поместилось на скрин
Doctor Strange Мыслитель (7589) Олег Голубев, скинь весь код через эту штуку
serd Мудрец (17868) 11 месяцев назад
Ошибка происходит на строке 41. Ты показываешь файл только до 33 строки.
P.s. для вставки кода есть специальный блок. https://help.mail.ru/otvety-help/answers/text_decoration
Олег ГолубевЗнаток (258) 11 месяцев назад
спасибо. сейчас сделаю
Chromatic Scale Просветленный (21660) 11 месяцев назад
Похоже, что ошибка возникает из-за того, что вы пытаетесь использовать переменную updater в строке 41, но ее определение отсутствует в этом участке кода. Возможно, вы случайно удалили или переместили эту строку в коде.

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