首先,用curl推送bot的格式如下
curl -X POST "https://api.telegram.org/bot1254xxxxx96:AAH8xxxxxxxxxxxxxxaLOk_fNWxxxxxO40gY/sendMessage" -d "chat_id=xxxx&text=xxxx"
curl -X POST "https://api.telegram.org/bot【API】/sendMessage" -d "chat_id=【ID】&text=【文本】"
经过研究,常规用户ID为常规数字,所以【ID】直接获取即可,在之前的JD推送已经说过
而频道,群组,除了需要上权限外,ID和用户不同
我一开始用的NekoX的自带获取ID,发现报错
"error_code": 400,
"description": "Bad Request: chat not found"
后来查找官方文档
发现,可以用@作为频道/群组的指向ID
然后测试发现,群组/频道的ID并不是常规数字(NekoX里面显示的),而是有额外的前缀-100【估计NekoX是省掉了】
所以加上-100在原ID前面就行,或者直接@群组频道名
测试经历参考如图【群组频道是一致的,区别于普通用户】
curl -X POST "https://api.telegram.org/bot1254867296:AAH8M8QfeE8wvBCJiaLOk_fNW8ervOO40gY/sendMessage" -d "[email protected]&text=test"
curl -X POST "https://api.telegram.org/bot1254867296:AAH8M8QfeE8wvBCJiaLOk_fNW8ervOO40gY/sendMessage" -d "chat_id=1244465349&text=test"
curl -X POST "https://api.telegram.org/bot1254867296:AAH8M8QfeE8wvBCJiaLOk_fNW8ervOO40gY/sendMessage" -d "chat_id=-1001244465349&text=test"
curl -X POST "https://api.telegram.org/bot1254867296:AAH8M8QfeE8wvBCJiaLOk_fNW8ervOO40gY/sendMessage" -d "chat_id=-1001351717364&text=test"
Comments NOTHING