Skip to content

Простой чат для переписки с пользователями через телеграм бот. Пользователь пишет и получает ответы в бот. Операторы работают через web-интерфейс.

License

Notifications You must be signed in to change notification settings

Legi4ch/simple-tg-support-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simple-tg-support-bot

Простой чат бот Telegram для переписки с пользователями через web-интерфейс.

PHP и JS. Css фреймворк Materialize. Без внешних зависимостей.

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

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

Код написан и проверен в PHP 7.4.3

Что может?

  • Пользователь пишет боту, оператор отвечает через веб-интерфейс. Пользователь получает ответ в бот.
  • Поддерживает несколько операторов в команде. Рекомендую 3, максимум 5. Выдержит и больше, но для большого количества обращений в бот и большего числа операторов, лучше использовать другие решения.
  • Бан пользователей (оскорбления, ругань и т.д.). Для пользователя бан прозрачен, то есть писать он сможет, но его сообщения не будут получены операторами.
  • Удаление чатов.
  • Пауза для оператора. Пока оператор на паузе, данные в его интерфейс приходить не будут.
  • Блокировка чатов. Если оператор начал переписку с пользователем, то для других операторов этот чат будет не доступен.
  • В текущей версии поддерживается только получение и отправка фото. Отправка и получение файлов пока не поддерживается.

Как работает?

  • Скачиваете и размещаете приложение на сайте
  • Регистрируете нового бота с помощью BotFather
  • настраиваете приложение через файл /config/Config.php
  • обязательно укажите токен вашего бота, полученного от BotFather
  • выполняете на вашем сайте скрипт webhook_install.php. Если все правильно, то ответом должно быть Webhook was set.
  • заводите операторов напрямую в файле базы данных в таблицу system_users
  • можете общаться с пользователями через веб интерфейс

Важно

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

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

Домен, на котором будет размещаться приложение, должен иметь SSL сертификат. Работа без SSL тоже возможна, но такой опции из коробки нет.

Особенности

Из коробки используется база SQLite для хранения. Может быть изменена на MySql при необходимости. Автоматической миграции не предусмотрено. Для смены базы необходимо будет создать таблицы вручную и произвести изменения в файлах /config/Config.php, /classes/Db.php

В текущей версии нет возможности редактировать базу из веб интерфейса. Для добавления операторов необходимо вручную отредактировать файл базы с помощью программ для редактирования SQLite файлов. Например, DB Browser for SQLite https://sqlitebrowser.org/.

В базе уже добавлен пользователь (оператор) с именем Administrator и паролем admin_12345. Рекомендую добавить своих операторов, a пользователя Administrator удалить.

Пароли в базе хранятся в открытом виде. Именно поэтому базу стоит размещать в месте не доступном для скачивания.

Данные в интерфейсе обновляются через XMLHttpRequest запросы к серверу. Поэтому общение происходит не совсем в реальном времени. Обновления запрашиваются каждые 5 секунд. Эти значения могут быть изменены в настройках JS в файле /js/setting.js

preview

About

Простой чат для переписки с пользователями через телеграм бот. Пользователь пишет и получает ответы в бот. Операторы работают через web-интерфейс.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published