Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Telegram BOT with Nest.js for fast creation task/bug issues

Available languages:
- [RU](./ARTICLE_RU.md)
- [EN](./ARTICLE_EN.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Coming soon...
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Telegram бот на Nest.js для создания задач или багов прямиком из групповых чатов (self-hosted решение)

## Предисловие
Не так давно я писал [свою первую статью](../nestjs-boilerplate-startup/ARTICLE.md) после большого перерыва. Однако недавно, на проекте появилась острая необходимость закрытия потребности переноса обращени от клиентов прямиком в нашу Jira.

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

## Технический стек и так далее
В целом, если убрать firestore и google cloud storage, то получается, что я готов пропустить добрую часть подготовительных работ по линтерам и так далее. В грубом случае, вы можете взять за основу бойлерплейт из той статьи. Однако не переживайте, в рамках этой статьи у вас будет в таком же формате набор коммитов и итоговая репа для повторения self-hosted решения на своей стороне.

Кстати о бойлеплейте: [Стартовый коммит](https://github.com/Fedorrychkov/nestjs-tg-jira-bot/commit/6442cfa1d7658095cf7155fe9570bebd4a4de651)

## Ожидаемый итог
Так как задача возникла в процессее рабочей рутины, хочу заранее предупредить, что часть кода будет в формате MVP на коленке без доп функционала и нормализации кодовой базы на достаточном уровне.
От бота я хочу:
- Работоспособность бота в супергруппе, в конкретных топиках
- Быстрая возможность закинуть сообщение или переслать его (без доп сообщения к реплаю)
- Будет плюсом, если удасться решить потребность прикрепления отправляемой фотографии к задаче в Jira
- Доп комментарий в описании задачи о том, кто отправил сообщение и ссылка на сообщение в телеграм топике

Бот работоспособен при заполнении валидными данными в .env файле. Для локальной работы будет использоваться .env.dev файл.

## Установка зависимостей
Так как мы будем писать телеграм бота, к проекту необходимо добавить зависимости:
```
pnpm add jira-rest-sdk telegraf telegraf-session-local nestjs-telegraf
```

В целом, все остальное и даже излишне уже добавлено в коммите, в начале статьи.

## Telegraf