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

RyanWright ec5b1d9cfd Merge branch 'fix/make-docker-restart' of RyanWright/telegram-support-bot into master 1 kuukausi sitten
.dockerignore d44209d57e First bytes 11 kuukautta sitten
.gitignore d44209d57e First bytes 11 kuukautta sitten
Dockerfile d44209d57e First bytes 11 kuukautta sitten
README.md 0c0c02e6d7 Spelling fix 11 kuukautta sitten
bun.lockb d44209d57e First bytes 11 kuukautta sitten
docker-compose.yml 57602eed00 Update docker-compose to make restart 1 kuukausi sitten
index.ts d44209d57e First bytes 11 kuukautta sitten
package.json d44209d57e First bytes 11 kuukautta sitten
tsconfig.json d44209d57e First bytes 11 kuukautta sitten

README.md

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

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

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

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

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

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

Команды

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

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

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