最早是我用 zabbix 想要及时接收报警找到的这个方法。微信发消息要申请公众号,短信要钱,邮箱不是太及时。 telegram 是目前最方便的手段,这个可以作为各种接口发送各种信息。
安装 telegram-cli 命令行
如果是 centos 的话,非常简单。。直接 yum 安装就可以了。
yum install -y telegram-cli
如果是其他系统。。那就要下载源代码进行编译安装了。。比如 Ubuntu 和 Debian 可以用下面的代码编译安装:
sudo apt-get install -y git libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
git clone --recursive https://github.com/vysheng/tg.git && cd tg
./configure
make
更多的系统编译安装可以看 官方的 github
激活 API
安装好后,我们需要去拿到 telegram 的密钥。访问 telegram 的网站
https://my.telegram.org/apps
登陆后就可以看到下面的界面
你可以新建一个文件,然后把 public key 的内容复制进去并保存
vi /root/tg-server.pub
第一次使用需要手动连接下服务器
执行以下命令来手动连接次,执行以下代码来带着 public key 连接:
/bin/telegram-cli -k /root/tg-server.pub
如果是通过编译安装的, telegram-cli
命令则在编译目录的 bin 目录下 , 代码改成 /root/tg/bin/telegram-cli -k /root/tg-server.pub
出现命令行后,按下 TAB
键,就会出现让你输手机号的界面:
输入手机号后会出现让你输验证码,流程和你登陆客户端是一样的。把收到的验证码输入就可以了
登陆成功后就可以发送命令来测试了,你可以给自己发个消息试试:
msg @ 用户名 发送的消息
输入 quit
就可以退出命令行了。
跟多的命令可以看 官方的 wiki
写脚本来发送消息
在这台服务器登陆过一次后,以后就都不需要登陆了,这样我们就可以用命令行来直接发送消息了。
我们新建个脚本:
vi /root/tg.sh
输入以下代码
#!/bin/bash
to=$1
msg=$2
/bin/telegram-cli -W -e "msg $to $msg"
如果是编译安装的, telegram-cli 的位置在编译目录的 bin 目录下,记得把命令改成:
/root/tg/bin/telegram-cli -W -e "msg $to $msg"
以后就可以在其他程序里面调用这个脚本了。
bash tg.sh @www91yunorg testmsg
就会向 www91yunorg 用户发送消息: testmsg
题外话
相对于短信和微信, telegram 要简单很多,而且免费,唯一的缺点就是国内用不了 = = 因为 tg 的服务器被墙了。你可以把调用放在国外,远程调用发消息。
另外就是最好重新注册个账号发消息,虽然自己也可以给自己发,不过好像客户端并不会有声音提示。所以还是用其他账号发比较好。
为了测试发了不少消息,最后的成效就是这样:
国内的服务器挂了代理也不行
/bin/telegram-cli -k /root/tg-server.pub进入命令行界面后没有提示输入手机号,按tab也没有提示输入手机号,只是显示help等各种命令的用法……
登陆后没有telegram available MTProto,让部署新application,是哪里做错了吗
推荐看看Server酱,推送到微信的…
Mark
请问这个能支持群聊吗?
已经加入过是可以的。具体到他们官方的github看
貌似可以~~~
提醒一下,如果提示“FAIL: 38: can not parse arg #1”的话,需要先在手机上给要发送的账号聊一句才能用msg命令。
命令行下好像是,不过脚本却可以直接发
脚本也不行,求解决方法