本帖最后由 心理有数 于 2018-12-9 14:19 编辑
-----------------------------
----------------------------- 本文基于Shell,所以不限制设备,也不限制系统,只要你能够SSH/Telnet/WinScp连接设备且设备能够跨越长城防火墙,均适用。 Telegram bot配合其他脚本可以很方便的推送信息到客户端,这么强大的一个工具如果不加以利用就太浪费了。
输入
新建一个Bot,然后按照提示输入Bot名与用户名,随后会返回Bot的链接与Token,切记要妥善保管自己的Token。
接下来新建一个群组/频道,并将你的Bot加入到群组/频道中,随后任意发送一条消息, - curl -k "https://api.telegram.org/bot788888883:AAxxxEqxxxNdyvfxxxaaxxxoSn-ZOxxx5cc/getupdates"
复制代码 会返回一个json串,解析一下,如下- {
- "ok": true,
- "result": [
- {
- "update_id": 288888867,
- "channel_post": {
- "message_id": 6,
- "chat": {
- "id": -1001888888811,
- "title": "每日价格优惠",
- "type": "channel"
- },
- "date": 1588888606,
- }
- }
- ]
- }
复制代码 记录下chat id,下一步发送消息要用。- token="788888883:AAxxxEqxxxNdyvfxxxaaxxxoSn-ZOxxx5cc"
- id="-1001888888811"
- message="whatever you want push"
- curl -k \
- "https://api.telegram.org/bot${token}/sendmessage" \
- -d "chat_id=${id}&text=${message}"
复制代码 这样推送的消息体中不能含有换行符与“&”符号,会报错,可以改为Urlencode- turlmessage=$(echo $message | sed -e ':a;N;$!ba;s/\n/%0a/g' -e 's/&/%26/g')
复制代码 将其封装为函数,减少代码重复在root文件夹下新建AllFunctions文件,并将token,id改为自己对应的值 - #!/bin/bash
- function tg_bot()
- {
- token="788888883:AAxxxEqxxxNdyvfxxxaaxxxoSn-ZOxxx5cc"
- id="-1001888888811"
- message=$(echo $1 | sed -e ':a;N;$!ba;s/\n/%0a/g' -e 's/&/%26/g')
- curl -k \
- "https://api.telegram.org/bot${token}/sendmessage" \
- -d "chat_id=${id}&text=${message}"
- }
复制代码 这样,在需要推送消息的脚本中只需增加两行即可实现推送消息- #!/bin/bash
- . /root/Allfunctions
- ....
- .....
- .........
- ...........
- tg_bot ${you want push}
复制代码 下面是我创建的一个定时推送折扣信息的Telegram BotTelegram Bot功能十分强大,可以做到很多事情,小生只是初学者,只能够用来推送一些消息与设备状态,后续还会继续研究。
|