于站长所在的单位内经常使用Teams和钉钉进行日常办公交流,加之站长自研的BDGroup Task Manager也提供了多种消息通道的支持,所以几个月前,站长就将server酱停用,改为通过Teams发送大部分服务器通知。
至于站长为什么不用钉钉,因为钉钉不支持在两部手机上同时登录同一个账号。而Teams那边,因为站长有开发者账号,想登录多个设备也是轻而易举的事情。
然而,宝塔面板里并不支持teams通知。那么我们能不能自己在面板里增加teams通知通道呢?从设置里并不能实现,但我们可以修改文件添加相关支持。

以下设置均在您已经获得Teams的Webhook传入url的情况下进行的。如果您尚未取得Webhook传入url,请参考微软官方的教程获取。
step 1 新建通知所需文件

1.1 进入服务器的/www/server/panel/class/msg目录,将dingding.html和dingding_msg.py下载备用。

1.2 将dingding.html改名为teams.html,dingding_msg.py改名为teams_msg.py。
step 2 编辑面板文件

2.1 用记事本打开teams.html,删除红框内的内容。

2.2 利用替换大法,把文件内的“钉钉”全部替换成“微软Teams”,“dingding”替换成“teams”。
2.3 保存teams.html。
2.4 用记事本打开teams_msg.py,找到红框内容(可以通过搜索“钉钉发送消息”来快速定位)

2.5 将这段内容替换成data = {"text": msg}

2.6 搜索“if x.json()["errcode"] == 0:”,然后替换成“if x == 1:

2.7 利用替换大法,把文件内的“钉钉”全部替换成“微软Teams”,“dingding”替换成“teams”。
2.8 保存teams_msg.py。
step 3 增加入口

3.1 将step 2中修改好的两个文件上传到/www/server/panel/class/msg,权限为600,用户和用户组均为root。

3.2 编辑/www/server/panel/class/panelPush.py。在第312行的feishu后面增加“,"teams"”(具体见图)

3.3 编辑/www/server/panel/data/msg.json,把钉钉的json段全部复制一遍,然后粘贴一遍,再按照图示修改即可。

其中红框内的内容最好不要乱改,剩余部分可以自由发挥。

step 4 最后配置

4.1 如果一切正常,现在就可以在面板的“面板设置”-“通知设置”,点击“设置消息通道”,即可找到“微软Teams”的配置位置。


4.2 将获得的Webhook传入url填写到文本框里,然后勾选默认,保存关闭。
4.3 在面板告警里,就可以勾选微软Teams了。


全部配置完毕后,我们尝试退出后重新登录,这时Teams就会收到一条登录提醒。

举一反三 展开 / 收起