6.6 KiB
6.6 KiB
Telegram Bot для создания постов и планирования путешествий
Функции бота
📝 Создание постов
- Создание заголовка и основного текста поста
- Загрузка фото в лучшем качестве или для быстрой загрузки в
public/images/ - Добавление видео
- Интеграция YouTube видео через Hugo shortcodes
- Локации с Яндекс.Карт
- Автоматическое создание Hugo markdown файлов в
content/post/ - Генерация правильного front matter для Hugo
🌍 Календарь поездок
- Создание названия и описания поездки
- Добавление фото к поездкам
- Автоматическое обновление файла
content/plan.md
📅 Управление календарём поездок
- Добавление месячных поездок (системные ежемесячные варианты)
- Добавление специальных поездок (праздничные и особенные события)
- Удаление существующих поездок из списка
- Просмотр всех доступных вариантов поездок
- Автоматическое обновление выпадающего списка в форме на сайте
🔄 Git интеграция
- Автоматический commit всех изменений после создания поста
- Автоматический commit при обновлении календаря поездок
- Автоматический push в репозиторий Gitea/GitHub
- Осмысленные commit сообщения с указанием источника (Telegram бот)
Установка и запуск
-
Установите зависимости:
pip3 install -r requirements.txt -
Настройте токен бота:
export TELEGRAM_BOT_TOKEN="ваш_токен_здесь"Или создайте файл
.env:TELEGRAM_BOT_TOKEN=ваш_токен_здесь -
Запустите бота:
./start_bot.shИли напрямую:
python3 telegram_bot.py
Использование
- Запустите бота командой
/start - Выберите действие из главного меню:
- 📝 Создать пост - для создания новых постов
- 🌍 Хочу поехать - для добавления записей в календарь поездок
- 📅 Управление календарём - для управления вариантами поездок в форме
Создание поста
- Введите заголовок поста
- Введите основной текст поста
- Используйте кнопки для добавления:
- 📸 Фото (с выбором качества)
- 🎥 Видео
- 🔗 YouTube ссылки
- 📍 Локации с Яндекс.Карт
- Нажмите "✅ Опубликовать пост"
- Бот автоматически создаст Hugo markdown файл и сделает Git commit
Календарь поездок
- Введите название поездки
- Опишите детали поездки
- При желании добавьте фото
- Сохраните запись
- Бот автоматически обновит
plan.mdи сделает Git commit
Управление календарём поездок
-
Добавить месячную поездку:
- Выберите "➕ Добавить месячную поездку"
- Введите название в формате "Полёты в [месяц] [год] года"
- Новая опция автоматически добавится в форму на сайте
-
Добавить специальную поездку:
- Выберите "✨ Добавить специальную поездку"
- Введите название события (например: "Новогодние каникулы в горах")
- Опция будет добавлена в выпадающий список
-
Удалить поездку:
- Выберите "❌ Удалить поездку"
- Выберите поездку из списка для удаления
- Опция будет удалена из формы на сайте
-
Просмотреть список:
- Выберите "📋 Просмотреть список"
- Увидите все текущие варианты поездок
Интеграция с Hugo и Git
Структура файлов
content/post/- markdown файлы постовpublic/images/- загруженные изображения и видеоcontent/plan.md- файл календаря поездок
Создаваемые файлы
Hugo пост (content/post/название-поста-20250802.md):
+++
title = 'Название поста'
slug = 'название-поста-20250802'
date = "2025-08-02T14:30:00"
image = 'images/post_20250802_143000_1.jpg'
+++
Основной текст поста
## Фотографии
{{< gallery dir="/images/" />}}
## Видео
{{< youtube dQw4w9WgXcQ >}}
## Локации
📍 [Посмотреть на карте](https://yandex.ru/maps/...)
{{< rawhtml >}}
{{< back-to-top >}}
{{< /rawhtml >}}
Git коммиты
Пример коммита для поста:
Добавлен новый пост: Название поста
🤖 Создано через Telegram бота
Пример коммита для календаря:
Обновлен календарь поездок: Поездка в горы
🤖 Создано через Telegram бота
Требования
- Git репозиторий должен быть настроен с правами на push
- Бот должен запускаться из корня Hugo проекта
- Необходимые Python библиотеки:
python-telegram-bot,requests