Files
akyldash/tools/telegram-bot
Codex Agent 752bd38c9b fix: harden document normalization
Reject overlapping source and destination roots before any write so normalization cannot replace the raw Ministry archive.

Recover an interrupted directory publication before resume checks and require the normalized target to exist before skipping a manifest success.

Treat malformed link and image URLs as unsafe attributes, add regressions for all review findings, and bump the backend version to 0.2.2.
2026-08-12 09:49:40 +03:00
..
2026-08-12 09:49:40 +03:00

Telegram-бот Акылдаш

Версия: 0.2.2

Бот сохраняет сообщения разрешённых тем Telegram в локальную SQLite-базу и выгружает обсуждения в Markdown. Внешние Python-зависимости не требуются.

Запуск

Требуется Python 3.11 или новее.

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 сохраняется в базе, поэтому метаданные вложений остаются доступными для последующего скачивания.

Проверка

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.2.2 · Frontend — не создан