**Пошаговая инструкция по созданию бота для автоматической публикации статей**
*(На примере Telegram-канала, WordPress и социальных сетей)*
---
### 1. **Выбор платформы и цели**
Решите, куда бот будет публиковать статьи:
- **Telegram-канал/чат** (через Telegram Bot API).
- **Сайт на WordPress** (через REST API).
- **Социальные сети** (Twitter, Facebook, VK — через их API).
- **CMS или блог-платформы** (Medium, Ghost и т.д.).
---
### 2. **Создание бота для Telegram-канала**
#### a. **Настройка канала и бота**
1. Создайте Telegram-канал и добавьте в него бота как администратора (у бота должны быть права на публикацию).
2. Получите API-токен через [@BotFather](https://t.me/BotFather) (см. [предыдущую инструкцию](https://t.me/BotFather)).
#### b. **Код для публикации в канал (Python)**
```python
from telegram import Bot
import schedule
import time
TOKEN = "ВАШ_ТОКЕН"
CHANNEL_ID = "@ваш_канал" # Например: "@my_articles_channel"
bot = Bot(token=TOKEN)
def publish_article(article_text, image_path=None):
if image_path:
with open(image_path, 'rb') as photo:
bot.send_photo(chat_id=CHANNEL_ID, photo=photo, caption=article_text)
else:
bot.send_message(chat_id=CHANNEL_ID, text=article_text)
# Пример использования
publish_article("Новая статья: Как создать бота!", "image.jpg")
```
---
### 3. **Интеграция с WordPress**
#### a. **Настройка WordPress REST API**
1. Установите плагин [Application Passwords](https://wordpress.org/plugins/application-passwords/).
2. Создайте новый пароль для API:
**Пользователи → Ваш профиль → Application Passwords**.
#### b. **Код для публикации статьи (Python)**
```python
import requests
import json
WORDPRESS_URL = "https://ваш-сайт.ru/wp-json/wp/v2"
USERNAME = "ваш_логин"
APPLICATION_PASSWORD = "сгенерированный_пароль"
def post_to_wordpress(title, content, category_id=1):
data = {
"title": title,
"content": content,
"status": "publish",
"categories": [category_id]
}
response = requests.post(
f"{WORDPRESS_URL}/posts",
auth=(USERNAME, APPLICATION_PASSWORD),
json=data
)
return response.json()
# Пример
post_to_wordpress("Заголовок статьи", "Текст статьи...")
```
---
### 4. **Добавление планировщика**
Используйте библиотеку `schedule` для автоматической публикации в заданное время.
**Пример для Telegram:**
```python
import schedule
def job():
publish_article("Ежедневная статья!", "daily.jpg")
# Публикация каждый день в 10:00
schedule.every().day.at("10:00").do(job)
while True:
schedule.run_pending()
time.sleep(1)
```
---
### 5. **Хранение статей**
- **Локально:** Сохраняйте статьи в формате JSON или Markdown.
- **База данных:** Используйте SQLite, PostgreSQL или MongoDB для управления контентом.
**Пример структуры JSON:**
```json
{
"articles": [
{
"id": 1,
"title": "Как создать бота",
"content": "Текст статьи...",
"publish_date": "2024-01-01 10:00",
"platforms": ["telegram", "wordpress"]
}
]
}
```
---
### 6. **Деплой и автоматизация**
- **Сервер:** Разместите бота на VPS (DigitalOcean, Hetzner) или в облаке (AWS, Google Cloud).
- **Фоновый режим:** Запустите скрипт через `systemd` или `pm2` (для Node.js).
- **Git + CI/CD:** Настройте автоматическое обновление кода через GitHub Actions или GitLab CI.
---
### 7. **Расширенные функции**
1. **Парсинг статей из интернета:**
Используйте библиотеки `beautifulsoup4` (Python) или `cheerio` (Node.js) для автоматического сбора контента.
2. **Генерация контента через AI:**
Интегрируйте ChatGPT (OpenAI API) или YandexGPT для создания текста.
3. **Уведомления об ошибках:**
Отправляйте сообщения в Telegram при сбоях публикации.
---
### 8. **Готовые решения (без кода)**
- **Zapier:** Настройте автоматизацию между Google Docs, WordPress и соцсетями.
- **IFTTT:** Автопостинг из RSS-ленты в Telegram и Twitter.
- **JetSocial:** Плагин для WordPress для автоматической публикации в соцсети.
---
### Полезные ресурсы
- [Telegram Bot API](https://core.telegram.org/bots/api)
- [WordPress REST API](https://developer.wordpress.org/rest-api/)
- [Twitter API v2](https://developer.twitter.com/en/docs/twitter-api)
- [Пример бота на GitHub](https://github.com/example/auto-publish-bot)
---
**Готово!** Ваш бот может автоматически публиковать статьи в выбранные платформы по расписанию. Дорабатывайте его под свои задачи! 🚀