最近遇到很多长任务,后台跑着跑着就忘了:( 花了几分钟搞了一个把 shell 命令运行的结果转发到 telegram 的 bot,用于提醒自己命令的执行情况。使用起来比较简单:
tg [YOUR_ID] [YOUR COMMAND]
即可,例如tg 000000 ls
。效果图:
GitHub: https://github.com/xzyaoi/tg
顺便发一个分享创造的电报群: https://t.me/chuangzao101
求个 star :),而且我对 go 的 os/exec 不是特别了解,如果有实现上的错误麻烦大佬指出。
1
Shazoo 2020-05-26 14:02:02 +08:00
为啥要这么麻烦?
``` curl --location --request POST 'https://api.telegram.org/bot<YourBotToken>/sendMessage' \ --form 'text=`<YourCommandHere>`' \ --form 'chat_id=<YourChatId>' \ --form 'parse_mode=markdown' ``` |
2
c0xt30a 2020-05-26 19:24:28 +08:00
@Shazoo
发送消息记得过滤下特殊字符: ``` special_chars = ['~', "'", '[', '\\', '@', '^', '{', '%', '(', '"', '*', '|', ',', '&', '<', '`', '}', ']', '!', '>', ')'] ``` 还可以发送图片,我用的命令行是: ``` f'/usr/bin/curl -s -X POST https://api.telegram.org/{token}/sendPhoto -F chat_id={id} -F photo="@{photo_path}"' ``` 发送文件是: ``` f'/usr/bin/curl -F document="@{file_path}" https://api.telegram.org/{token}/sendDocument?chat_id={id}' |
3
runking 2020-05-30 15:03:28 +08:00
借这个主题问一下
弄了个机器人转发备用机的未接来电和短信 使用的是 http get 然后,短信里面如果有特殊字符,特殊字符后面的内容就看不到了 这种怎么可以把特殊给处理下能在机器人中正常显示 |