Skip to content

Latest commit

 

History

History
123 lines (100 loc) · 6.74 KB

README.ua.md

File metadata and controls

123 lines (100 loc) · 6.74 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 Ru

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