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