52 lines
2.2 KiB
Markdown
52 lines
2.2 KiB
Markdown
# Telegram-бот Акылдаш
|
||
|
||
Версия: `0.2.2`
|
||
|
||
Бот сохраняет сообщения разрешённых тем Telegram в локальную SQLite-базу и
|
||
выгружает обсуждения в Markdown. Внешние Python-зависимости не требуются.
|
||
|
||
## Запуск
|
||
|
||
Требуется Python 3.11 или новее.
|
||
|
||
```bash
|
||
cd tools/telegram-bot
|
||
export TELEGRAM_BOT_TOKEN='...'
|
||
export TELEGRAM_CHAT_ID='-1004242041275'
|
||
export TELEGRAM_OWNER_ID='87262245'
|
||
export TELEGRAM_REPORT_THREAD_ID='37'
|
||
export TELEGRAM_ALLOWED_THREAD_IDS='0,2,4,6,8'
|
||
python3 bot.py
|
||
```
|
||
|
||
Доступные команды: `/help`, `/status`, `/export`. Экспорт доступен только
|
||
пользователю с Telegram ID из `TELEGRAM_OWNER_ID`. Первый `/export` выгружает
|
||
всю сохранённую тему, последующие — сообщения после предыдущей успешно
|
||
созданной отсечки.
|
||
|
||
Markdown публикуется в теме `TELEGRAM_REPORT_THREAD_ID`, а в исходной теме
|
||
остаётся отсечка со ссылкой и общим хэштегом отчёта.
|
||
|
||
База по умолчанию хранится в `data/secretary.sqlite3`. Сообщения из других
|
||
групп и тем не сохраняются. Полный ответ Telegram сохраняется в базе, поэтому
|
||
метаданные вложений остаются доступными для последующего скачивания.
|
||
|
||
## Проверка
|
||
|
||
```bash
|
||
python3 -m unittest -v
|
||
```
|
||
|
||
## Synology
|
||
|
||
Контейнер `akyldash-bot` работает на образе `python:3.11-slim` через закрытый
|
||
прокси-контейнер, с политикой перезапуска `unless-stopped`. Постоянные данные
|
||
находятся в `/volume1/docker/akyldash/data`.
|
||
|
||
При обновлении развёртывания файл `tools/telegram-bot/bot.py` копируется в
|
||
каталог контейнера как `bot.py`.
|
||
|
||
---
|
||
|
||
Акылдаш · Telegram-бот v0.2.2 · Backend v0.7.1 · Frontend — не создан
|