一、找BotFather拿到bot token
在telegram中私聊BotFather建立自己的bot,给bot取名,名字必须要以bot结尾。建好后自己的bot就有一个唯一的token,类似下面的一串字符164354723:AAEjT6-IyNoXjt7miD0dwa-P5VmDTtHQC8
二、确认bot响应文件的位置
在写好bot响应文件后,要把bot放在网络上的一个位置,并且这个位置必须要加密的,即以https开头的一串网址。比如响应文件的名称为telbot.php,把它放在下面这个网址的位置:https://my.webhost.com/164354723:AAEjT6-IyNoXjt7miD0dwa-P5VmDTtHQC8/telbot.php
上面网址中的红色设置和bot的token一样是为了确定这个唯一的位置,当然也可以任意设置。
三、告诉Telegram响应文件的位置
Telegram用下面网址的形式来设定webhook响应方式https://api.telegram.org/bot[myauthorization-token]/setwebhook?url=[myboturl]
按照上面的网址形式,把自己创建的bot的token以及响应文件的位置填入,然后在浏览器中运行一下即可设置成功。比如:
https://api.telegram.org/bot164354723:AAEjT6-IyNoXjt7miD0dwa-P5VmDTtHQC8/setwebhook?url=https://my.webhost.com/164354723:AAEjT6-IyNoXjt7miD0dwa-P5VmDTtHQC8/telbot.php
设置成功后,页面会显示下面的内容:
{"ok":true,"result":true,"description":"Webhook is already set"}
四、在Telegram中给自己的bot发消息进行验证
php响应文件例子
<?php
define('BOT_TOKEN', 'YOURBOT:TOKEN');
define('API_URL', 'https://api.telegram.org/bot'.BOT_TOKEN.'/');
// read incoming info and grab the chatID
$content = file_get_contents("php://input");
$update = json_decode($content, true);
$chatID = $update["message"]["chat"]["id"];
$got_message = $update["message"]["text"];
// compose reply
$reply = $got_message;
// send reply
$sendto =API_URL."sendmessage?chat_id=".$chatID."&text=".$reply;
file_get_contents($sendto);
?>
上例中$content得到bot传递来的json串,$update为解析json串后得到的数组,再将数组中的有用信息提取出来,即$chatID和$got_message。上例中将得到的字符串赋值给$reply,再发送回去。因此上面这个简单的bot就是“回声机器人”了。
当然bot获取和发送的信息不只有字符串一种,更多的功能请参照Telegram Bot API
当然bot获取和发送的信息不只有字符串一种,更多的功能请参照Telegram Bot API
Wow, amazing blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your website is fantastic, let alone the content!
ReplyDeleteBest 3D animation Company
Best Chatbot Development Company
Mobile app development in Coimbatore
ReplyDeletehi! May i ask u , If i want to reply message to my bot group,How to setting,pls