目前我的项目当有错误出现只有邮件通知,但是因为工厂里的操作工没有邮件账户,所以添加了一个消息通知。使用telegram bot。(在国内的小伙伴不知道能不能用)
<非常简单的操作>
首先你要下载一个telegram。
找到BotFather。(任意发给别人一条消息@BotFather,点击这个消息就可以开启和botfather的对话)
给BotFather发消息:
/start
/newbot(要求一个新的机器人)
他会提示你输入你的机器人的名字和用户名,用户名必须以bot结尾。然后你就会得到你的机器人的token!“Use this token to access the HTTp API: ” 后面的那一串字符。
我这里只介绍我自己用到的功能。其他的我贴上参考链接。
https://zhuanlan.zhihu.com/p/146062288
https://zhuanlan.zhihu.com/p/30450761
我自己的很简单,就是在检测到指定文件夹存在我要找的文件,就使用email和telegram自动发送文件内容给用户。
其中我自己做的更改:
1. 更改消息格式(直接发送telegram消息为一个列表,我使用换行符和join改成我想要的格式)
2. 发送多人。(发现直接发送给一个ID列表不可以,所以用的for循环,不过最后没有用到发送多人而是发送群组)
2.发送群组。
import telepot
bot = telepot.Bot('your token')
while os.path.exists("G:\expert system data"):
if os.path.exists("G:\expert system data\email_content.txt"):
f1 = open("G:\expert system data\email_content.txt", "r")
lines = f1.readlines()
f1.close()
#sendemail(lines)
msg_content = [lines[0].replace('\n', ''), '\n\r', lines[2].replace('\n', ''),'\n\r', lines[4].replace('\n', '')]
msg_content = ''.join(msg_content)
bot.sendMessage(your group ID, msg_content)
os.remove("G:\expert system data\email_content.txt")
要发送群组需要enable你的机器人的群组功能。/setjoingroups 如果current status是disable就发送enable给BotFather。这样就可以加入群组啦。 接下来的操作就是拉你想要的人去群组。
怎么获取group的ID?web打开telegram点进群组,此时链接地址g后面的数字前面加上- 就是你的group ID。
这是我的群组消息。