/natti-digest-bot

A digest-making bot for https://t.me/natti_jun_front_chat.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

natti-digest-bot

О проекте

Это бот-помощник, сделанный на заказ для https://t.me/natti_jun_front_chat. С его помощью можно составлять и отправлять дайджесты для больших чатов, чтобы полезные сообщения и ссылки не потерялись.

Бот позволяет

  • привязывать группу к аккануту администратора, чтобы исключить возможность спама
  • создавать категории для группировки сообщений в дайджесте
  • задавать порядок отображения категорий
  • формировать дайджест в интерактивном режиме
  • автоматически закреплять дайджест за текущую дату
  • стилизовать текст дайджеста с помощью HTML
  • редактировать и удалять уже созданные категории и описания добавленных в дайджест сообщений

Бот создаёт отдельный аккаунт для каждого пользователя с возможностью его безвозвратного удаления. Он доступен по ссылке — можно добавить его в любую публичную группу или просто посмотреть, что он умеет. Почитать инструкцию по его использованию можно в интерактивном меню. Буду рад, если он облегчит вашу жизнь, как администратора :)

С согласия заказчика исходный код распространяется под FOS-лицензией GNU GPL v3.0.

Установка

Поскольку исходный код бота находится в открытом доступе, его можно развернуть на своём сервере и привязать к телеграм бот-аккаунту, который вы создали сами. Бот автоматически добавит все нужные команды во встроенное меню, делать этого самостоятельно не нужно.

Для того, чтобы бот работал, на вашем сервере должен быть установлен SSL-серфтификат. Бот также поддерживает хостинг за nginx.

Рекомендуемый способ установки — использование docker compose.

  1. Склонируйте репозиторий — git clone https://github.com/eveloth/natti-digest-bot.git
  2. Перейдите в создавшуюся директорию — cd natti-digest-bot
  3. Отредактируйте файлы .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, с помощью которого вы можете удостовериться, что вебхук установлен имеено вами

  1. Запустите контейнеры командой docker compose up -d из корневой директории проекта

Seq

Бот поддерживает использование лог-аггрегатора Seq. Если вы планируете использовать Seq, отредактируйте следующую секцию:

.env

# LOGGING -- не редактируйте ничего, если не планируете использовать Seq

SEQOPTIONS__URL='http://localhost' -- адрес, по которому доступен лог-аггрегатор Seq
SEQOPTIONS__APIKEY='' -- API-ключ Seq        

Дополнительная информация


Любое использование исходного кода этого проекта 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.