nikservik/simple-support

Simple support for Laravel

Maintainers

Package info

github.com/nikservik/simple-support

Type:laravel-package

pkg:composer/nikservik/simple-support

Statistics

Installs: 45

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

2.8 2026-03-03 06:55 UTC

README

Пакет реализует диалоги с пользователями и отправку уведомлений сразу всем пользователям.

Установка

Добавить в composer.json

    "require": {
        ...
        "nikservik/simple-support": "^2.0",
        ...
    },
    "config": {
        ...
        "github-oauth": {
            "github.com": "токен доступа (создается в настройках)"
        }
    },
    "repositories" : [
        {
            "type": "vcs",
            "url" : "git@github.com:nikservik/simple-support.git"
        }
    ]

После этого выполнить

composer update

Миграции

Миграции можно опубликовать

php artisan vendor:publish --tag="simple-support-migrations"

Или раскомментировать фичу autoload-migrations в конфигурации.

Выполнить миграции:

php artisan migrate

Конфигурация

Опубликовать файл конфигурации:

php artisan vendor:publish --tag="simple-support-config"

Содержимое файла конфигурации по умолчанию:

    // чтобы отключить любую возможность, достаточно ее закомментировать
    'features' => [
        'user-can-send-message',
        'user-can-update-message',
        'user-can-delete-message',
        'send-notifications-to-telegram',
//        'register-api-routes',
//        'autoload-migrations',
    ],

    // без / в начале и в конце
    'route' => 'support',

    // сколько сообщений загружается одним запросом
    'messages-per-page' => 20,

    // метод подсчета непрочитанных сообщений
    // fast - одним запросом с тремя вложенными
    // simple - тремя запросами
    'unread-count' => 'simple',

    // настройки для отправки уведомлений о новых сообщениях от пользователей
    'telegram' => [
        'url' => 'https://api.telegram.org/bot',
        'token' => env('SUPPORT_BOT_TOKEN'),
        'chat' => env('SUPPORT_BOT_CHAT'),
    ],

В .env нужно добавить 2 настройки: идентификатор бота и идентификатор чата, в который он будет слать уведомления.

SUPPORT_BOT_TOKEN=
SUPPORT_BOT_CHAT=

История изменений

2.06

  • dev-зависимости расширены для Laravel 10 (orchestra/testbench ^8.0) с сохранением текущих диапазонов
  • config.audit.ignore сохранён для PKSA-8qx3-n5y5-vvnd и PKSA-w7xr-vk7n-rstm

2.05

  • обновлены dev-зависимости для Laravel 9 (orchestra/testbench ^6.15|^7.0, phpunit/phpunit ^9.3|^9.5)
  • composer test закреплён за vendor/bin/phpunit
  • тестовый suite привязан к той же MySQL-базе (users_test)
  • в tests/TestCase.php удалён хардкод database.default
  • добавлен config.audit.ignore для PKSA-8qx3-n5y5-vvnd и PKSA-w7xr-vk7n-rstm

2.03

  • из выборки исключены сообщения и уведомления, созданные до регистрации пользователя

2.02

  • оптимизация countUnread

2.01

  • В Actions вынесен метод jsonResponse
  • asController возвращает значение, которое можно использовать во view
  • Можно наследовать Actions и добавлять свой htmlResponse

2.0

  • Добавлены общие уведомления в чат с пользователем
  • Возможность отвечать на сообщение
  • Отключаемые в конфигурации фичи
  • Административная часть вынесена в пакет admin-support
  • Полностью описан API в стандарте OpenAPI
  • Добавлены фабрики
  • Все действия переписаны на основе laravel-actions
  • Полное покрытие тестами и standalone-тестирование
  • Описание установки