Telegram-бот для отложенного постинга на DTF. Использует Puppeteer и Grammy для автоматизации публикации черновиков через удобный интерфейс бота.
Этот проект предназначен для автоматизации процесса публикации черновиков на платформе DTF через Telegram-бот. Он позволяет пользователям управлять своими черновиками, просматривать их и публиковать, не заходя напрямую на сайт DTF.
DTFService
отвечает за взаимодействие с сайтом DTF. Он использует Puppeteer для автоматизации действий в браузере, таких как вход в аккаунт, получение списка черновиков и их публикация.
TelegramService
управляет взаимодействием с пользователем через Telegram. Он обрабатывает команды пользователя и отправляет соответствующие запросы к DTFService
.
SchedulerService
(если реализован) отвечает за планирование отложенных публикаций.
Config
содержит конфигурационные параметры проекта, такие как токены и учетные данные.
Пользователь авторизуется через Telegram-бот, предоставляя свои учетные данные DTF. DTFService
использует эти данные для входа на сайт через Puppeteer.
Пример:
const isLoggedIn = await dtfService.login(telegramId, username, password);
После авторизации пользователь может запросить список своих черновиков. DTFService
получает эту информацию с сайта DTF и передает ее обратно через Telegram-бот.
Пример:
const drafts = await dtfService.getDrafts(telegramId, username);
Пользователь может выбрать черновик для публикации. DTFService
автоматизирует процесс публикации на сайте DTF.
Пример:
const isPublished = await dtfService.publishDraft(telegramId, username, draftId);
TelegramService
обрабатывает команды пользователя, такие как /login
, /drafts
, /publish
.
Пример:
bot.command("drafts", async (ctx) => {
// Логика обработки команды /drafts
});
- Клонируйте репозиторий
- Установите зависимости:
npm install
- Создайте файл
.env
и заполните необходимые переменные окружения - Запустите проект:
npm start
- Grammy: для создания Telegram-бота
- Puppeteer: для автоматизации действий в браузере
- TypeScript: язык программирования
- Node.js: среда выполнения
- Реализация отложенного постинга
- Улучшение обработки ошибок
- Добавление поддержки других платформ для блогов