Telegram бот на Laravel #1: подготовка проекта — PROG-TIME

Telegram бот на Laravel #1: подготовка проекта

26.06.2024
Содержание:

В новой серии уроков мы с вами сделаем Telegram бота на Laravel. В качестве примеры мы будем делать бота для изучения «Конституции РФ».

Аналогичное решение было представлено студией Артемия Лебедева, и на его основе я сделал бота с более расширенным функционалом.

В данном курсе мы с вами разберём следующие моменты:

  • разработаем административную панель на Laravel + MoonShine для нашего бота
  • настроим системы миграций, модели и контроллеры для взаимодействия с ботом

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

Подготовка проекта

Для размещения проекта я буду использовать VPS от Beget с использованием Hestia CP.

Ссылка на хостинг — https://beget.com/p658517

Подробный разбор Hestia CP

Урок 1 — https://youtu.be/WK6PClrEBm4

Урок 2 — https://youtu.be/gFEAliawZak

Данный курс рассчитан на пользователей с опытом Middle+, поэтому если вы не разбираетесь в базовой настройке окружения для Laravel, то вам будет сложно разобраться в материале.

Настройка проекта

Для начала необходимо очистить директорию

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

Материалы курса