Этот бот предназначен для поддержки пользователей проекта, обеспечивая эффективную коммуникацию между администрацией и пользователями. Бот работает на платформе Telegram и предоставляет удобный интерфейс для создания и управления тикетами техподдержки.
- Категории вопросов: бот поддерживает разделение вопросов на три категории: "Идеи и предложения", "Сообщить об ошибке", "Общие вопросы".
- Создание тикетов: пользователи могут легко создать тикет, выбрав соответствующую категорию и написав обращение. Бот подтверждает создание тикета и предоставляет его номер.
- Ограничение активных тикетов: на одного пользователя может быть не более N активных обращений одновременно.
- Уведомления для администраторов: бот уведомляет администраторов о новых тикетах и ответах пользователей каждые N времени, а также немедленно при наличии нескольких новых сообщений.
- Управление тикетами для администраторов: администраторы могут просматривать список тикетов по категориям, отвечать на обращения и закрывать тикеты с помощью удобного интерфейса.
- Сохранение истории обращения в файл: администратор может скачать текст всего обращения, включая ответы администраторов и пользователя.
- Поддержка двустороннего общения: пользователь может вести продолжительную беседу с командой технической поддержки, если у него не получается решить возникшую проблему, или её детали должны быть дополнены.
- Чёрный список: администратор может добавить или убрать определённого пользователя из чёрного списка по своему усмотрению. Список всех заблокированных пользователей доступен по команде
/blacklist
. Действия со списком:/block userId причина
|/unblock userId
.
- Node.js (JS/TS)
- SQLite
-
Клонируйте репозиторий:
git clone https://github.com/PartyCorn/Tech-Support-Telegram-Bot.git cd Tech-Support-Telegram-Bot
-
Установите необходимые зависимости:
npm install
- В файле
bot.ts
в корневой директории проекта измените следующие переменные в зависимости от ваших нужд:const appName = 'Your App Name Here' const adminIds = ['1234567890']; // Замените на реальные ID администраторов const notificationInterval = 1 * 60 * 60 * 1000; // Интервал уведомления администраторов, указан 1 час const notificationThreshold = 10; // Количество тикетов для немедленного уведомления const notificationWindow = 30 * 60 * 1000; // Временное окно для отслеживания тикетов в миллисекундах (например, 30 минут) const maximumTicketsPerUser = 2; // Количество активныв тикетов на одного пользователя const USERS_PER_PAGE = 20; // Количество пользователей, которые нужно вывести на 1 страницу (для чёрного списка)
- Запустите бота:
npm start
Бот будет запущен и готов к использованию на платформе Telegram.
Этот проект лицензирован под MIT License. Подробности см. в файле LICENSE.