Skip to content

Latest commit

 

History

History
123 lines (100 loc) · 6.76 KB

README.ru.md

File metadata and controls

123 lines (100 loc) · 6.76 KB

Open Weather Bot

python version aiogram version aiohttp version aiosqlite version APScheduler version environs version Pillow version tzlocal version Code style: black Code tests Code tests MIT licence

En Ua

Open Weather Bot

Телеграм бот, показывающий прогноз погоды. Рабочая версия доступна по ссылке @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

Главный экран OpenWeatherBot

Настройка и запуск

  • Зарегистрируйте нового бота у @BotFather и скопируйте полученный токен
  • Вставьте токен бота в файл .env
  • Зарегистрируйте учетную запись на сайте OpenWeatherMap
  • Создайте API ключ и скопируйте его в файл .env
  • Вставьте свой id Телеграм в файл .env
  • Узнать свой id можно, например, написав боту @getmyid_bot
  • Запуск бота через файл bot.py python bot.py

Локализация

  • С версии 1.1.0 в бот добавлена локализация для английского, украинского и русского языка
  • Для добавления перевода на свой язык, сделайте следующее:
    1. перейдите в папку с ботом

    2. активируйте виртуальное окружение:

      source venv/bin/activate

    3. создайте файл перевода на ваш язык, где {language} - код языка по стандарту ISO 639-1

      pybabel init --input-file=tgbot/locales/tgbot.pot --output-dir=tgbot/locales --domain=tgbot --locale={language}

    4. переведите строки в файле locales/{language}/LC_MESSAGES/tgbot.po

    5. скомпилируйте перевод командой:

      pybabel compile --directory=tgbot/locales --domain=tgbot

    6. перезапустите бота

  • При изменениях строк для перевода в коде, вам нужно будет полностью пересоздать и скомпилировать файлы перевода для всех локализаций:
    1. извлечь строки для перевода из кода:

      pybabel extract --input-dirs=./tgbot --output-file=tgbot/locales/tgbot.pot --sort-by-file --project=OpenWeatherBot

    2. создать файлы перевода для всех локализаций:

      pybabel init --input-file=tgbot/locales/tgbot.pot --output-dir=tgbot/locales --domain=tgbot --locale={language}

    3. скомпилировать переводы:

      pybabel compile --directory=tgbot/locales --domain=tgbot

  • Более подробно об этом можно прочитать в примере из документации aiogram

Разработчики

Лицензии

  • Исходный код Open Weather Bot доступен по лицензии MIT
  • Данные о прогнозе погоды предоставлены сервисом OpenWeather
  • Иконки погоды от www.wishforge.games c freeicons.io