Телеграм бот, показывающий прогноз погоды. Рабочая версия доступна по ссылке @OpenWeatherSmartBot
- Поиск города по названию или координатам
- Показ текущей погоды и прогноза на 24 часа
- Обновление прогноза погоды каждые 3 часа
git clone https://github.com/rin-gil/OpenWeatherBot.git
cd OpenWeatherBot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
mv .env.dist .env
- Зарегистрируйте нового бота у @BotFather и скопируйте полученный токен
- Вставьте токен бота в файл .env
- Зарегистрируйте учетную запись на сайте OpenWeatherMap
- Создайте API ключ и скопируйте его в файл .env
- Вставьте свой id Телеграм в файл .env
- Узнать свой id можно, например, написав боту @getmyid_bot
- Запуск бота через файл bot.py
python bot.py
- С версии 1.1.0 в бот добавлена локализация для английского, украинского и русского языка
- Для добавления перевода на свой язык, сделайте следующее:
-
перейдите в папку с ботом
-
активируйте виртуальное окружение:
source venv/bin/activate
-
создайте файл перевода на ваш язык, где {language} - код языка по стандарту ISO 639-1
pybabel init --input-file=tgbot/locales/tgbot.pot --output-dir=tgbot/locales --domain=tgbot --locale={language}
-
переведите строки в файле locales/{language}/LC_MESSAGES/tgbot.po
-
скомпилируйте перевод командой:
pybabel compile --directory=tgbot/locales --domain=tgbot
-
перезапустите бота
-
- При изменениях строк для перевода в коде, вам нужно будет полностью пересоздать и скомпилировать файлы
перевода для всех локализаций:
-
извлечь строки для перевода из кода:
pybabel extract --input-dirs=./tgbot --output-file=tgbot/locales/tgbot.pot --sort-by-file --project=OpenWeatherBot
-
создать файлы перевода для всех локализаций:
pybabel init --input-file=tgbot/locales/tgbot.pot --output-dir=tgbot/locales --domain=tgbot --locale={language}
-
скомпилировать переводы:
pybabel compile --directory=tgbot/locales --domain=tgbot
-
- Более подробно об этом можно прочитать в примере из документации aiogram
- Исходный код Open Weather Bot доступен по лицензии MIT
- Данные о прогнозе погоды предоставлены сервисом OpenWeather
- Иконки погоды от www.wishforge.games c freeicons.io