Установка RePost¶
Требования¶
- DLE ≥ 20.0
- PHP ≥ 8.3
- DevCraft Admin ≥ 200.4.0 (
needplugin) - Composer-пакеты в
devcraft/:luzrain/telegram-bot-api,guzzlehttp/guzzle(vendor не входит в архив плагина)
Шаги¶
- Установите плагин через менеджер плагинов DLE (архив с
install.xml,engine/,devcraft/). - В каталоге
devcraft/выполните (если пакетов ещё нет):
- Откройте админку → RePost. При первом заходе Cycle ORM создаст таблицы:
{prefix}_repost_connections{prefix}_repost_templates{prefix}_repost_proxies-
{prefix}_repost_cron -
Создайте подключение Telegram и шаблон (активные подключение + шаблон).
Логи¶
Сбои и успехи отправки пишутся через LogGenerator::for('RePost') → Admin → Logs, модуль/плагин RePost:
| Уровень | Когда |
|---|---|
| error | SendResult::fail, нет шаблонов/подключения/провайдера |
| info | старт dispatch, успешная отправка / постановка в cron |
| debug | matched template ids, tg_send_type, counts media, proxy — только если включён debug DevCraft |
Токен бота в payload не логируется явно как отдельное поле (в raw ответах API его тоже не должно быть).
Хуки (install.xml)¶
Плагин патчит через <file> (не правьте DLE вручную в репозитории):
engine/inc/addnews.php→ форма RePost +sendRepost($id, 'addnews', $options)engine/inc/editnews.php→ форма RePost +sendRepost($id, 'editnews', $options)engine/modules/addnews.php→ форма в{admintag}+sendRepost($insert_id, 'addnews', $options)- удаление новости → очистка очереди
engine/modules/cron.php→repostRunCron()в конце авто-cron DLE
Корневой cron.php не патчится.
Структура модуля¶
| Text Only | |
|---|---|
AJAX только через devcraft/ajax.php?mod=repost&controller=admin&method=….