PHP Telegram bot + Laravel разработка с нуля `Урок – 10`
Статья на Яндекс Дзен, подписывайтесь!
В этом уроке научимся данные пользователей, определять обращался ли человек к боту ранее и будем использовать несколько вариантом приветствия.
Сохранение пользователей
Работать с базой данных будем через соответствующую модель пользователя телеграм, для этого прокинем её через конструктор.
Теперь получим всю информацию о пользователе через
$this->getUpdate()->message->from
И сохраним его уникальный ID для дальнейшего поиска в БД
Далее пробуем найти пользователя в БД через метод where(), подробнее о работе с базой данных через модели в Laravel можно почитать в официальной документации
Если пользователя в БД нет, нам вернется null, значит можем поставить условие и создать в таком случаи новую запись в БД.
Вынесем добавление пользователя в отдельный метод addNewTelegramUser и передадим в него $userData.
Далее при помощи метода insert нашей модели телеграм пользователя добавим запись, передав массив со всеми необходимыми полями.
Уже можем попробовать запустить команду /start в боте и убедиться что пользователь действительно был добавлен.
Откроем таблицу пользователей и увидим что новый пользователь уже сохранен, отлично!
Определяем нового и старого пользователя
Немного изменим наше условие, теперь если мы нашли юзера будем вызывать метод sendAnswerForOldUsers, а если нет – sendAnswerForNewUsers
Напишем метод, который будет отвечать старому пользователю. Пусть он отправляет сообщение: Рады видеть вас снова!🥳
Попробуем запустить команлу /start в боте и убедимся что все работает.
Мы можем легко удалить уже созданную запись прямо в PhpStorm, для этого открываем таблицу, выделяем нужную запись, можно и несколько, жмём на “-“ и зеленую стрелку, готово👌
Теперь можно написать метод для отправки сообщений новым пользователям и протестируем его работу.
Как видим мы получили новый ответ, при этом если попробуем выполнить команду /start еще раз, уже получим ответ для старого пользователя! Отлично, значит все работает как нужно)
Раз уж мы научились сохранять пользователей и работать с ними, нам ничего не мешает добавить и выбор языка, но об этом в следующем уроке!
Подписывайтесь на канал, задавайте свои вопросы в комментариях, отвечаю всем!)