Автоматизация публикации RSS-ленты в Telegram канале на Golang
Описание проекта
Я разработал бота на языке Go, который автоматически публикует новые записи из RSS-ленты в Telegram-канал. Это решение было создано для автоматизации процесса публикации контента из внешнего источника в целевой Telegram-канал.
Проблема и решение
Проблема: Необходимо было вручную копировать и публиковать новые посты из одного Telegram-канала в другой, что отнимало много времени и могло приводить к пропуску важных публикаций.
Решение: Автоматизированный бот, который:
- Регулярно проверяет RSS-ленту канала
- Обнаруживает новые публикации
- Форматирует их для Telegram
- Автоматически публикует в целевом канале
- Сохраняет состояние последней публикации
Техническая реализация
Основные компоненты системы
- RSS-парсер - использует библиотеку
gofeedдля чтения и парсинга RSS-ленты - Telegram Bot API - взаимодействие с Telegram через официальную библиотеку
- Механизм хранения состояния - сохранение последней обработанной ссылки в файле
- Цикл проверки - периодический опрос RSS-ленты
Обработка контента
Особое внимание уделено корректному форматированию контента для Telegram.
func cleanHTML(text string) string {
// Заменяем HTML-теги на Telegram-совместимые
text = strings.ReplaceAll(text, "<p>", "")
text = strings.ReplaceAll(text, "</p>", "\n")
text = strings.ReplaceAll(text, "<br>", "\n")
// ... другие замены
return text
}Отправка сообщений
- Поддержкой HTML-разметки
- Кнопкой "Перейти" к оригинальной публикации
- Корректным форматированием текста
Преимущества решения
- Полная автоматизация - система работает без вмешательства человека
- Надежность - сохранение состояния гарантирует отсутствие дублирования публикаций
- Гибкость - легко изменить источник RSS или целевой канал
- Эффективность - проверка каждые 5 минут обеспечивает своевременную публикацию
- Масштабируемость - можно добавить обработку нескольких RSS-лент
Вывод
Разработанное решение эффективно решает задачу автоматической публикации контента из RSS-ленты в Telegram-канал. Использование Go обеспечило высокую производительность и надежность системы, а модульная структура кода позволяет легко расширять функционал в будущем.
Этот проект демонстрирует, как с помощью относительно небольшого количества кода можно автоматизировать рутинные задачи и создать полезный инструмент для управления контентом в социальных сетях.
🤖 Автор: @offrmdm | Telegram-канал: БотоФабрика | GitHub: d1mk9 · GitHub
Разрабатываю чат-ботов на Golang и no-code платформах.
Готов к сотрудничеству!