Я видел, что новый API для ботов включен для создания custome-ботов, я видел некоторые источники, такие как это, и я также читал о @fatherbot
который посвящен регистрации ботов, я также искал некоторые примеры ботов телеграмм, таких как этот , Я знаю, как писать коды в php
и python
но не могу узнать, как вызвать методы api и где начать. Кто-нибудь знает, как начать?
Вы могли бы просто использовать мою новую библиотеку для бота api телеграммы! https://github.com/tekook/TelegramLibrary
Он имеет все функции нового api и является простым в использовании и основанным на событиях libarry!
Повеселись!
Вы можете использовать этот базовый пример, чтобы начать работу. Я бы предложил добавить немного больше пользы, используя curl и добавив некоторую обработку ошибок.
<?php $bot_id = "<bot ID generated by BotFather>"; # Note: you want to change the offset based on the last update_id you received $url = 'https://api.telegram.org/bot' . $bot_id . '/getUpdates?offset=0'; $result = file_get_contents($url); $result = json_decode($result, true); foreach ($result['result'] as $message) { var_dump($message); } # You can send a message like this: # The chat_id variable will be provided in the getUpdates result # TODO: urlencode your message $url = 'https://api.telegram.org/bot' . $bot_id . '/sendMessage?text=message&chat_id=0'; $result = file_get_contents($url); $result = json_decode($result, true); var_dump($result['result']);
Согласно официальному API бота :
Getting updates There are two mutually exclusive ways of receiving updates for your bot — the getUpdates method on one hand and Webhooks on the other.
Таким образом, скрипт PHP bot работает по-другому, используя схему
Доступ к бот-API осуществляется через HTTP GET / POST, подробно в официальной помощи.
Если есть новые сообщения
При использовании WebHook (и хорошо сконфигурированной) новое сообщение вашему боту вызовет запрос HTTP POST с сервера телеграммы на ваш настроенный URL-адрес на вашем собственном сервере, проанализированный вашим PHP-скриптом.
В вашем скрипте PHP проанализируйте новое сообщение из HTTP POST и отправьте сообщение с HTTP POST на сервер телеграмм.
Таким образом, разница существует только при получении сообщений из телеграммы, все ответы отправляются на телеграмму через HTTP GET / POST, подробно в разделе «Выполнение запросов» в официальном API.
Некоторые люди с ума сошли на неофициальный PHP api на github:
Я предлагаю начинающим начинать этот путь:
Поиск BotFather в приложении Telegram
Отправьте ему команду / newbot . Следуйте его инструкциям.
Он даст вам токен, что-то вроде 123456789:ABCDefGHIJKLmnopQRstUVwXYz
Откройте окно браузера, введите в адресной строке что-то из этой формы: https://api.telegram.org/bot<token>/getMe
Например, используя фальшивый токен сверху: https://api.telegram.org/bot123456789:ABCDefGHIJKLmnopQRstUVwXYz/getMe
Он должен вернуть информацию вашего бота в формате JSON. Это показывает, что доступ к API-интерфейсу Bot – это не что иное, как создание HTTP-запросов.
Найдите своего бота в приложении Telegram. Отправьте ему сообщение.
В окне браузера введите: https://api.telegram.org/bot<token>/getUpdates
Не забудьте заменить токен. Вы должны увидеть сообщение, которое вы только что отправили. Обратите внимание на поле from
и chat
. Это ты.
Затем вы можете попробовать некоторые библиотеки. Чтобы дать некоторый языковой баланс здесь, я предлагаю телепот , структуру Python, которую я создал. На странице проекта много документов и примеров.
Наконец, даже с помощью библиотек, я рекомендую вам ознакомиться с базовыми документами API Bot . Понимание этого помогает вам использовать всю свою мощь.
Удачи.
о API getUpdates и бесконечном цикле, php-сервер не может выполнить код более 30 секунд. , поэтому бесконечный цикл работает неправильно.
Я также новичок в Telegram API, но вы можете начать с доступа к этому URL, в котором вы должны заменить (токен) своим собственным токеном, сгенерированным buy BotFather:
https://api.telegram.org/bot(token)/METHOD_NAME
Например, если вы хотите начать обработку запросов, отправленных вашему боту с помощью PHP-скрипта, вы должны называть это:
https://api.telegram.org/bot(token)/setWebhook?url=https://yourdomain.com/path_to_your_script/
Пожалуйста, не делайте того, чтобы вы ДОЛЖНЫ иметь веб-сайт с поддержкой SSL, чтобы начать использовать API телеграмм.
В качестве ответа на сценарий, который не может работать более 30 секунд:
используйте set_time_limit (0); чтобы оно продолжалось вечно. Однако имейте в виду, что любая бесконечная петля времени несколько опасна; побочные эффекты, такие как cpu hogs или утечки памяти, будут питаться на вашем сервере. Вот почему многие интернет-провайдеры запрещают эту настройку.