用途
- 定点提醒你做事。例如到点发现你还没写日记就提醒你
- 配合手机tasker、workflow做消息提醒
- 触发各种你关心的webhook等
准备工作
- 可以科学上网的机器
- 一个手机号
注册TG账号
在网络下载一个tg客户端,并注册账号,现在貌似都要用手机注册。
注册完成后,记得在设置 -> Privacy and Security -> Phone Number 设置为Nobody,网上冲浪还是要把自己保护好。
有时候可能会遇到无法发消息给别人的情况,有可能是系统误杀。可以跟在搜索框添加官方账号 @SpamBot ,反馈问题。用 /start 开启和它的对话,然后点击用它返回的菜单或者直接和它沟通。不出意外,一段时间后会帮你清理掉你账号的异常情况。
创建机器人
搜索框添加官方机器人管理员@BotFather 。键入 /start 开启和它的对话,点击它返回的 /newbot。管理员提示给它取个爱称,输入后,管理员提示给它取个昵称,ok,这俩名字取一样的应该没啥问题。
然后管理员会回你一段话,其中1377170000:AAGApipyadqh3ZAqgFNiJJwWohXIs3xxxxx 就是你机器人的token,请妥善保存,后面会用到。
Use this token to access the HTTP API:
1377170000:AAGApipyadqh3ZAqgFNiJJwWohXIs3xxxxx
Keep your token secure and store it safely, it can be used by anyone to control your bot.
到这里就已经创建了一个机器人,你可以多创建几个,如果有需要的话。
获取你与机器人的聊天会话id
机器人发信息的api需要指定聊天会话id(chat_id),所以我们要获取到它。
首先你需要找到机器人跟它说句话,然后访问链接(浏览器打开或者curl都行):https://api.telegram.org/bot1377170000:AAGApipyadqh3ZAqgFNiJJwWohXIs3xxxxx/getUpdates 。将链接的token换成你机器人的,bot<你的token>/getUpdates。会正常响应机器人最近的聊天记录,找到message.chat节点下的id,这就是chat_id,记录下来。
{
"ok": true,
"result": [{
"update_id": 345541000,
"message": {
.....
"chat": {
"id": 703240000,
"first_name": "foam",
"last_name": "zou",
"username": "foamzou",
"type": "private"
}....
当然,你也可以把机器人拉到群里,在群里说几句话,然后也是像上面操作,拿到chat_id。ps.如果是私密群,id是负数。
调用发信息api
直接贴curl。
curl -d '{"chat_id":703240000, "text":"hello", "parse_mode": "Markdown"}' -H "Content-Type: application/json" -X POST https://api.telegram.org/b1377170000:AAGApipyadqh3ZAqgFNiJJwWohXIs3xxxxx/sendMessage
执行上边的命令,没有意外的话,你的机器人将会给你发一句hello。parse_mode选择的markdown,那么文本内容将可以很丰富啦。具体的用法和参数请自行去查阅官方文档哦。
ps. TGBot还有很多高级的功能,例如可以自定义会话菜单,自动回复等
pss. 国内也有很多优秀的可以用于做消息通知的方式。例如,server酱(微信)、钉钉机器人。
很不幸,你的连接有问题,有意外没发送成功不是b而是bot加token
应该是众所周知的原因,你客户端网络与tg服务器不通