Приветсвую всех.
Недавно я решил попробовать создать своего бота в телеграме, в интернете много инструкций по созданию потов в конструкторах, и в некоторых действительно можно создать ботов с большим функционалом на выбор, но передвигать блоки не интересно, да и если захочется сделать что то уникальное, чего нет?
Банальный пример.. Я хотел сделать своего бота в телеграм многоязычным, что бы пользователь мог менять язык и получать разные ответы, в конструкторах я такого к сожалению не нашел, а значит придется выкручиваться самому)
Кому подойдут эти уроки?
Конечно по хорошему вы должны понимать как работают сайты, иметь хотя бы небольшой опыт разработки на PHP, базами данных MySQL, в целом иметь хотя бы базовый уровень знаний в веб-разработке.
В идеале знать что такое composer, Laravel, т.к. использовать я буду именно его.
Однако я постараюсь расписать все на столько подробно, на сколько это возможно, так что если вы совсем новичок и только начинаете свой путь - это не будет проблемой, как минимум у вас точно получится запустить своего бота, но скорее всего узнать и понять много нового)
Если вы уже опытный разработчик буду рад видеть ваши рекомендации в комментариях, я сам не так давно устроился работать Junior PHP разработчиком.
Поэтому опыт с Laravel у меня небольшой, ну а telegram bot`а буду делать второй раз, специально для серии этих статей.
Своего первого бота к слову делать я начал неделю назад, понял что информации в интернете крайней мало, поэтому и решил собрать все в одном месте, думаю кому-нибудь точно пригодится, да и мне полезно, а то я точно все забуду..
Что планируется реализовать?
- Установим PHP
- Установим Composer
- Установим IDE программу для разработки и необходимые плагины
- Установим и настроим OpenServer для локальной разработки
- Создадим свой проект на GitHub и будем пушить туда все правки
- Установим Laravel и необходимые пакеты
- Создадим нового бота в BotFather
- Подключим бота в проект
- Создадим и подключим второго бота, который будет присылать в наш телеграм канал ошибки и другую полезную информацию
- Настроим работу с базой данных
- Научися принимать и обрабатывать вебхуки от телеграма к себе в локальный проект
- Напишем сам функционал бота
- Ну и загрузим проект на хостинг, что бы бот работал 24/7
Какой функионал будет у бота?
Идей у меня на самом деле не много, поэтому можете предлагать свои в комментариях и если я смогу - я их реализую))
Как минимум бот будем уметь делать следующее:
- Сохранять пользователей в БД
- Предлагать выбрать язык и менять его у пользователя в БД
- Обрабатывать команды типо /start /help
- Обрабатывать простой текст
- Возвращать информацию о пользователе
- Принимать контакт и сохранять в БД
- Принимать геопозицию, сохранять в БД, возвращать информацию о погоде, мб даже строить карту с метками и датами, по сохраненным данным
- Отображать клавиатуру Keyboard
- Отображать клавиатуру inline_keyboard (кнопки в сообщении чата)
- Обрабатывать ответ с нажатия inline_keyboard и динамически менять текст и саму клавиатуру
Отлично! Что дальше?
В конце каждого урока я буду оставлять ссылку на следующий урок, как только он будет готов и опубликован.