Files
ptp/telegram/README_BOT.md
T
2025-08-02 22:39:11 +02:00

6.6 KiB
Raw Blame History

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 бот)

Установка и запуск

  1. Установите зависимости:

    pip3 install -r requirements.txt
    
  2. Настройте токен бота:

    export TELEGRAM_BOT_TOKEN="ваш_токен_здесь"
    

    Или создайте файл .env:

    TELEGRAM_BOT_TOKEN=ваш_токен_здесь
    
  3. Запустите бота:

    ./start_bot.sh
    

    Или напрямую:

    python3 telegram_bot.py
    

Использование

  1. Запустите бота командой /start
  2. Выберите действие из главного меню:
    • 📝 Создать пост - для создания новых постов
    • 🌍 Хочу поехать - для добавления записей в календарь поездок
    • 📅 Управление календарём - для управления вариантами поездок в форме

Создание поста

  1. Введите заголовок поста
  2. Введите основной текст поста
  3. Используйте кнопки для добавления:
    • 📸 Фото (с выбором качества)
    • 🎥 Видео
    • 🔗 YouTube ссылки
    • 📍 Локации с Яндекс.Карт
  4. Нажмите " Опубликовать пост"
  5. Бот автоматически создаст Hugo markdown файл и сделает Git commit

Календарь поездок

  1. Введите название поездки
  2. Опишите детали поездки
  3. При желании добавьте фото
  4. Сохраните запись
  5. Бот автоматически обновит plan.md и сделает Git commit

Управление календарём поездок

  1. Добавить месячную поездку:

    • Выберите " Добавить месячную поездку"
    • Введите название в формате "Полёты в [месяц] [год] года"
    • Новая опция автоматически добавится в форму на сайте
  2. Добавить специальную поездку:

    • Выберите " Добавить специальную поездку"
    • Введите название события (например: "Новогодние каникулы в горах")
    • Опция будет добавлена в выпадающий список
  3. Удалить поездку:

    • Выберите " Удалить поездку"
    • Выберите поездку из списка для удаления
    • Опция будет удалена из формы на сайте
  4. Просмотреть список:

    • Выберите "📋 Просмотреть список"
    • Увидите все текущие варианты поездок

Интеграция с 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