Это бот-помощник, сделанный на заказ для https://t.me/natti_jun_front_chat. С его помощью можно составлять и отправлять дайджесты для больших чатов, чтобы полезные сообщения и ссылки не потерялись.
Бот позволяет
- привязывать группу к аккануту администратора, чтобы исключить возможность спама
- создавать категории для группировки сообщений в дайджесте
- задавать порядок отображения категорий
- формировать дайджест в интерактивном режиме
- автоматически закреплять дайджест за текущую дату
- стилизовать текст дайджеста с помощью HTML
- редактировать и удалять уже созданные категории и описания добавленных в дайджест сообщений
Бот создаёт отдельный аккаунт для каждого пользователя с возможностью его безвозвратного удаления. Он доступен по ссылке — можно добавить его в любую публичную группу или просто посмотреть, что он умеет. Почитать инструкцию по его использованию можно в интерактивном меню. Буду рад, если он облегчит вашу жизнь, как администратора :)
С согласия заказчика исходный код распространяется под FOS-лицензией GNU GPL v3.0.
Поскольку исходный код бота находится в открытом доступе, его можно развернуть на своём сервере и привязать к телеграм бот-аккаунту, который вы создали сами. Бот автоматически добавит все нужные команды во встроенное меню, делать этого самостоятельно не нужно.
Для того, чтобы бот работал, на вашем сервере должен быть установлен SSL-серфтификат. Бот также поддерживает хостинг за nginx.
Рекомендуемый способ установки — использование docker compose
.
- Склонируйте репозиторий —
git clone https://github.com/eveloth/natti-digest-bot.git
- Перейдите в создавшуюся директорию —
cd natti-digest-bot
- Отредактируйте файлы
.env
и.env.bot
Для минимальной конфигурации вам нужно указать следующие значения:
.env
<...>
PG_PASS='' -- пароль для базы данных PostgreSQL
<...>
.env.bot
BotConfiguration__BotToken='{your-token}'
BotConfiguration__HostAddress='{your-domain}'
BotConfiguration__SecretToken='{e.g.-random-guid}'
BotToken
— API-токен вашего бота, который можно получить через бота для создания ботов :)
HostAddress
— доменое имя, указывающее на ваш сервер в фомате https://domain.com
SecretToken
— секретное значение, к примеру, сгенерированный GUID, которое TgBot API будет указывать в HTTP-заголовке X-Telegram-Bot-Api-Secret-Token
, с помощью которого вы можете удостовериться, что вебхук установлен имеено вами
- Запустите контейнеры командой
docker compose up -d
из корневой директории проекта
Бот поддерживает использование лог-аггрегатора Seq. Если вы планируете использовать Seq, отредактируйте следующую секцию:
.env
# LOGGING -- не редактируйте ничего, если не планируете использовать Seq
SEQOPTIONS__URL='http://localhost' -- адрес, по которому доступен лог-аггрегатор Seq
SEQOPTIONS__APIKEY='' -- API-ключ Seq
- Туториал по nginx
- Про использование веб-хуков
- Использование локального сервера TgBot API
Любое использование исходного кода этого проекта GitHub Copilot, в прошлом или настоящем, осуществляется без нашего разрешения. Мы не даём согласия на использование GitHub исходного кода проекта и/или его частей в Copilot.
Any use of this project’s code by GitHub Copilot, past or present, is done without our permission. We do not consent to GitHub’s use of this project’s code in Copilot.