Update README.md

This commit is contained in:
LeoR156
2026-07-04 18:17:39 +05:00
committed by GitHub
parent b94511b64d
commit 13c4091f38
+47 -7
View File
@@ -1,8 +1,48 @@
# ⛅ Weather Telegram Bot (with Ansible Deployment)
Бот для получения погоды, упакованный в Docker. В репозитории также находится Ansible-плейбук для автоматического развертывания на любом облачном сервере Ubuntu за 2 минуты.
## 🚀 Быстрый старт (Локально через Docker)
1. Склонируй репозиторий.
2. Создай файл `.env` и добавь туда переменные `TG_TOKEN` и `WEATHER_API_KEY`.
3. Запусти: `docker-compose up -d`.
# 🌤️ Weather Telegram Bot (with Ansible Deployment)
# Инструкция написана не до конца. Более подробная версия выйдет позже
Бот для получения прогноза погоды, упакованный в Docker. В репозитории также находится Ansible-плейбук для автоматического развертывания на любом облачном сервере Ubuntu за 2 минуты.
## 🚀 Быстрый старт за 2 минуты
1. **Склонируйте репозиторий** командой:
```bash
git clone https://github.com/LeoR156/pogoda_tg_bot.git
cd pogoda_tg_bot
```
2. **Получите токены и ключи**:
- Создайте бота(ов) и скопируйте токен(ы) у [@BotFather](https://t.me/BotFather) в Telegram.
- Получите бесплатный API ключ на сайте OpenWeatherMap.
- Узнайте свой Telegram ID у официального бота [@userinfobot](https://t.me/userinfobot)
3. **Создайте файл инвентори**:
Создайте файл `inventory.ini` и добавьте туда серверы для установки. Вы можете задать общие переменные `admin` (ваш ID) и `api_pogoda` (ключ погоды) для всех серверов. А вот токен телеграм-бота `tg_token` **должен быть обязательно разным для каждого бота**, иначе боты будут конфликтовать за входящие сообщения.
*Пример синтаксиса `inventory.ini`:*
```ini
[tg_bot_3x]
# Указываем IP серверов и уникальные токены ботов для каждого сервера
server1 ansible_host=222.222.222.222 tg_token="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
server2 ansible_host=111.111.111.111 tg_token="987654:XYZ-ABC1234ghIkl-zyx57W2v1u123ew11"
[tg_bot_3x:vars]
# Общие переменные для всех хостов в этой группе
api_pogoda="ваш_ключ_openweathermap"
admin=123456789
```
*(Примечание: файл `.env` вам не нужен, так как Ansible сам пробросит переменные из inventory прямо в Docker-контейнеры!)*
4. **Настройте Playbook**:
В файле `playbook.yml` убедитесь, что в поле `hosts:` указана группа из вашего `inventory.ini` (в примере выше это `tg_bot_3x`).
5. **Запуск**:
Проверьте файл на ошибки командой:
```bash
ansible-playbook playbook.yml --syntax-check
```
Если есть ошибки, то исправьте синтаксис в файлу. Если всё хорошо, запускайте автоматическую установку командой:
```bash
ansible-playbook playbook.yml -i inventory.ini
```
Через несколько минут Ansible закончит свою работу и вы получите работающих телеграмм ботов!