目的

越来越及时高效的运维监控管理要求,传统的邮件已经无法满足,基于各种聊天工具的BotAPI也日趋流行。钉钉 https://www.dingtalk.com 和Telegram https://telegram.org 都有着不错的BOT接口。

钉钉接入

钉钉自定义机器人接入文档地址:
https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1

运维的后台系统可以通过向申请到的消息URL发送POST请求,来将数据发送到钉钉群,并且可以@到特定群成员,让老板开心,让责任人无法回避…
自定义机器人接口支持部分MD语法,可以做到不错的显示效果。可惜的是不支持应答机制,无法向机器人发送消息完成后端业务逻辑,期待钉钉更新。

Telegram接入

Telegram Bot API介绍地址:
https://core.telegram.org/bots

相比而言Telegram Bot就显得比较牛逼了,还可以做H5的游戏在里面玩,实在是居家旅行,杀人灭口……

申请Bot

在Telegram里面添加BotFather机器人,会出现机器人之父的大量控制说明,直接发送/newbot就开始创建机器人了。
选好用户名创建好Bot后,BotFather会给你一个token,记录下来,这就是控制机器人的唯一标识了。当然,也可以随时通过/mybots来查询目标机器人的token。

使用Bot

Telegram Bot功能众多,使用SDK来接入是最好的方式。官方在https://core.telegram.org/bots/samples提供了大量的SDK地址和示例地址可供参考。
SDK In Python https://github.com/python-telegram-bot/python-telegram-bot
SDK In Lua https://github.com/wrxck/telegram-bot-lua

SDK接入后就可以发消息,收消息,处理事务逻辑了。
每一条消息都会有对应发送者的ID传过来,对ID进行授权管理,加入密码验证,时效验证,即可成为一个安全可靠的运维运营控制台。
密码验证可以考虑Google Authenticator动态码,简单有效不怕暴力破解。
Library In Python https://github.com/pyotp/pyotp
Library In Lua https://github.com/imzyxwvu/lua-gauth