Skip to content

noinsts/weather-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⛅ Weather bot

wakatime Rust License Issues PRs

Сучасний Telegram-бот для отримання прогнозу погоди, написаний на Rust.


📖 Про проєкт

Weather Bot — це швидкий та зручний Telegram-бот, який надає актуальний прогноз погоди для вашого міста. Написаний на Rust з акцентом на продуктивність, надійність та зручність використання.

⚡ Чому саме цей бот?

  • 🚀 Швидкість — написаний на Rust для максимальної продуктивності
  • 🎯 Простота — інтуїтивний інтерфейс без зайвих кроків
  • 🌍 Мультимовність — підтримка української, англійської та німецької мов
  • 🔒 Надійність — стабільна робота з PostgreSQL та якісним кодом

✨ Особливості

🌤️ Прогноз погоди

  • Поточна погода — температура, відчуття, вологість, швидкість вітру, тиск
  • Прогноз на завтра — детальна інформація про погоду на наступний день
  • Автоматичне оновлення — актуальні дані від OpenWeatherMap API

👤 Персоналізація

  • Реєстрація міста — збережи своє місто для швидкого доступу
  • Зміна метрик — оберіть зручні одиниці вимірювання (°C/°F, м/с, км/год, миль/год)
  • Багатомовність — перемикайтеся між українською, англійською та німецькою мовами

🎨 Зручний інтерфейс

  • Inline-кнопки — швидка навігація через callback-меню
  • Емодзі-іконки — наочне представлення погодних умов
  • Форматовані повідомлення — читабельний та структурований вивід

🖼️ Демонстрація

Приклад роботи бота

Приклад відображення прогнозу погоди в боті

🧰 Технології

Технологія Опис
🦀 Rust Мова, на якій написаний увесь проєкт
💬 teloxide Фреймворк для створення Telegram-бота
🗄️ PostgreSQL Надійна база даних для зберігання всього необхідного
⚙️ diesel ORM, що допомагає зручно працювати з БД
🌍 OpenWeatherAPI Джерело актуального прогнозу погоди
🌐 fluent-bundle Для локалізації та підтримки різних мов

📦 Збірка та запуск

У вас повинен бути встановлений пакетний менеджер Cargo

Встановлюємо секретики

  1. Створюємо .env файл

    cp .env.example .env
  2. Заповнюємо його

    TELEGRAM_TOKEN = "Токен_вашого_телеграм_бота"
    
    WEATHER_API_KEY = "Токен_від_open_weather_api"

Побудова та запуск проєкту

# Білд
cargo build

# Запуск
cargo run

🛡 Ліцензія

Цей проєкт ліцензовано під ліцензією MIT. Детальніше дивіться у файлі LICENSE.

✨ Автор

📧 Контакти

Якщо у вас є питання або пропозиції, відкрийте Issue або зв'яжіться зі мною через GitHub.


Створено з ❤️ та Rust