В новой серии уроков мы с вами сделаем Telegram бота на Laravel. В качестве примеры мы будем делать бота для изучения «Конституции РФ».
Аналогичное решение было представлено студией Артемия Лебедева, и на его основе я сделал бота с более расширенным функционалом.
В данном курсе мы с вами разберём следующие моменты:
- разработаем административную панель на Laravel + MoonShine для нашего бота
- настроим системы миграций, модели и контроллеры для взаимодействия с ботом
В конце данного курса вы научитесь разрабатывать информативных ботов, с готовой административной панелью для сбора информации по клиентам.
Подготовка проекта
Для размещения проекта я буду использовать VPS от Beget с использованием Hestia CP.
Ссылка на хостинг — https://beget.com/p658517
Подробный разбор Hestia CP
Урок 1 — https://youtu.be/WK6PClrEBm4
Урок 2 — https://youtu.be/gFEAliawZak
Настройка проекта
Для начала необходимо очистить директорию
rm -rf *
Переходим в директорию с проектом и устанавливаем Laravel
composer create-project laravel/laravel .
В конце ставим точку, чтобы установить проект в текущую директорию.
Настройка .env
После установки необходимо настроить конфигурационный файл .env.
В нём необходимо изменить следующие параметры:
- указать вашу локализацию (у меня это RU)
- прописать доступы к базе данных (я буду использовать MySQL)
- в параметре APP_URL указать корректный адрес домена
Установка административной панели MoonShine
Вторым этапом необходимо установить админку MoonShine.
Для этого запустим следующую команду:
composer require moonshine/moonshine
Настройка отображения
Настройка .htaccess
Если, перейдя на главную страницу, видите ошибку ответа сервера, а перейдя по URL «домен/public» все работает корректно, то вам необходимо добавить правила в конфигурацию файла .htaccess.
Для этого создайте файл .htaccess в корне проекта и пропишите в него код.
RewriteEngine On
RewriteRule (.*) public/$1
Подключение к БД
Прописываем доступы к БД в файле .env.
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=user_const_bot
DB_USERNAME=user_const_bot
DB_PASSWORD=0B*L123sdPRo
Установка админки
После загрузки пакетов MoonShine, вам необходимо установить админку в свой проект.
php artisan moonshine:install
В процессе установки, вас попросят указать логин и пароль для доступов в административную панель.
Запуск миграций
После установки MoonShine, вам необходимо запустить базовые миграции.
php artisan migrate
Если миграции прошли успешно, то в вашей БД появятся базовые таблицы для работы с Laravel и MoonShine.
Проверка результата
Для проверки корректности работы проекта, вам необходимо:
- перейти на главную страницу вашего проекта в браузере
- перейти на страницу «домен/admin«
- авторизоваться в административной панели
На этом настройка проекта заканчивается! В следующих уроках, мы с вами создадим таблицы для бота, контроллеры и модели.
Я забыл пароль от админки!
Для создания нового пользователя пропишите консольную команду
php artisan moonshine:user