Насочени известия на Telegram за манекени
Сега, по ред, как да приложа всичко това, като вземем предвид това, което ми създаде трудности.
Стъпка 1. Създайте бот.
Ако все още не сте регистриран, регистрирайте се в Telegram. По-удобно ми е през уеб интерфейса: https://web.telegram.org.
Въвеждаме в търсенето BotFather - бащата на ботовете)), изпращаме му команда за създаване на нов бот /newbot. След това, следвайки инструкциите, задайте името и името на бота. Командите също са полезни: / setdescription - промяна на описанието, / setuserpic - настройка на иконата. Татко ще издаде жетон за бот, който ще е необходим допълнително.
И така, има бот, но той не може да направи нищо. Не е необходимо нищо специално за моята услуга, необходимо е само ботът да изпраща съобщения до потребителя, но за да ги изпратите, трябва да разберете идентификатора на чата на потребителя с бота. И за това потребителят трябва първо да пише, а ние трябва да обработим съобщението и да извлечем идентификатора.
Стъпка 2. Избор на метод за обработка на съобщенията към бота.
Тук се нуждаем от документация за API на Telegram. Всичко, което е написано в бота, може да се обработва по два начина:
И така, уволнявам, получих безплатен https през https://www.cloudflare.com/ - не струва нищо, работи, въпреки че проработи след 3 дни, когато вече бях направил всичко. По-нататък ще опиша според първия метод.
Стъпка 3. Обработка на съобщения до бота
Няколко обяснения на кода. Използваме параметъра offset в метода getUpdates, за да четем само нови събития. Получаваме данните с curl и преобразуваме получения json отговор в масив и итерираме през цикъла на съобщенията.
В публикацията, която ме интересува:
- $message["update_id"] - номер на събитието
- $message["message"]["text"] - текст на съобщението
- $message["message"]["chat"]["id"] - и най-важното ID на чата
Изпращането на отговори на ботове, както и известия се извършва сизползвайки метода sendMessage, който има два задължителни параметъра: номера на чата и текста на съобщението.
Остава да се съобразите с потребителското споразумение на Telegram и, като анализирате текста на съобщението, научите бота на командите / start и / help, давайки подходящите отговори.