首先,用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"

点击数:58