Бот телеграмм службы поддержки

Ryan Wright d44209d57e First bytes пре 11 месеци
.dockerignore d44209d57e First bytes пре 11 месеци
.gitignore d44209d57e First bytes пре 11 месеци
Dockerfile d44209d57e First bytes пре 11 месеци
README.md d44209d57e First bytes пре 11 месеци
bun.lockb d44209d57e First bytes пре 11 месеци
docker-compose.yml d44209d57e First bytes пре 11 месеци
index.ts d44209d57e First bytes пре 11 месеци
package.json d44209d57e First bytes пре 11 месеци
tsconfig.json d44209d57e First bytes пре 11 месеци

README.md

Бот службы поддержки

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

Как запустить

  1. Вам нужен docker compose на сервере. Установите его подходящим для вашей системы способом и следуйте дальнейшей инструкции.
  2. Создайте в папке с приложением пустую папку с именем db и пустой файл с именем .env
  3. Запишите в файл .env следующие строки и не забудьте сохранить изменения

    TELEGRAM_SUPPORT_CHAT_ID=-1234567 # ID приватного чата, где сидят сотрудники
    TELEGRAM_TOKEN=00000000:AaaaaaAaaaaaaaAa-bBBBBbbbbb # ID бота из BotFather
    APP_NAME=Моё приложение # название вашего приложения
    
  4. Выполните в консоли сервера следующую команду

    docker compose up -d --build
    
  5. Все готово, можете закрывать консоль

Команды

Клиент в чате с ботом может писать только одну команды /start. Все остальные команды предназначены для приватного чата.

В чате сотрудники могут вызывать следующие команды

  • /help - показать подсказку по командам
  • /tickets - вывести список 10 самых новых открытых тикетов. Если открытых тикетов больше - будет показан знак ...
  • /closed - вывести количество закрытых тикетов. Эти тикеты будут удалены через какое-то время
  • /answer - ответить на тикет. Сообщение будет переслано клиенту
  • /close - закрыть тикет. Он будет помечен для удаления, а клиенту придет благодарность за обращение