Бот погода telegram — Бот с прогнозом погоды в Telegram

Хочу представить своего бота Telegram под названием TheLair Weather (@thelairbot), который позволяет получить прогноз погоды на 5 дней в виде красивых и подробных графиков.

TheLair Weather

Данная разработка зародилась еще давно, когда я купил себе мини компьютер OrangePi Zero. Сначала я хотел сделать управление торрент менеджером Transmission на OrangePi Zero через бота. Однако впоследствии я предпочел разработать бота, который выводит прогноз погоды. Тогда я уже некоторое время использовал сайт windy.tv, чтобы смотреть прогноз погоды, в частности, я пользовался метеограммами. Это прогноз погоды на 5 дней с графиками температуры, осадков и скорости ветра. Но windy.tv решили развиваться и не использовать сторонние сервисы (meteoblue.com) для отображения метеограммы. Поэтому они сделали свой вид метеограммы, который похож на то, что было раньше, но, все-таки, прошлая версия мне нравилась больше.

Метеограмма windy.tv
Метеограмма meteoblue.com

Лично мне больше нравится вторая (старая) версия. Хотя, если бы windy.tv предоставляли API для получения метеограммы виде изображения, я бы это тоже добавил в бота. Но, к сожалению, они такого не предоставляют. В связи с этим мне пришла идея создать бота, который будет выводить старые метеограммы. Благо, windy.tv использовало бесплатную версию метеограмм с сайта meteoblue. Бот долгое время работал для личных целей дома на OrangePi Zero. Однако OrangePi Zero имеет плохой Wi-Fi, а по проводу я подсоединяться не хотел. В связи с этим, чтобы не морочить голову постоянными перезагрузками «апельсинового» сервера, я решил арендовать выделенный VDS сервер. Купил минимальный тариф и запустил там бота.

После этого я загорелся идеей усовершенствовать бота и сделать его открытым для всех желающих. И усовершенствовал. Теперь он может хранить до трех включительно местоположений. Местоположения можно редактировать и удалять. В качестве языка программирования был использован Python 2.7.

Чат с ботом

Сама метеограмма отправляется ботом в виде фотографии. Имеется поддержка английского и русского языков. Можно выставить мили в час и градусы в Фаренгейтах. Кроме того, Telegram Bot API предоставляет возможность отослать пользователю карту с отмеченным на нем местоположением. Именно этим я и воспользовался, чтобы выводить заданное пользователем местоположение на карте. Это позволяет наглядно проверить, правильно ли бот определил координаты по названию местоположения, которое задал пользователь. В мире много маленьких городов с одинаковыми названиями. Поэтому, чтобы повысить точность определения координат для таких местоположений, нужно дополнительно указывать название страны, а также делать запрос на английском. Например, France Vichy.

Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.