telegram bot自动发送消息

目前我的项目当有错误出现只有邮件通知,但是因为工厂里的操作工没有邮件账户,所以添加了一个消息通知。使用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://www.codementor.io/@karandeepbatra/part-1-how-to-create-a-telegram-bot-in-python-in-under-10-minutes-19yfdv4wrq

https://oscarada87.github.io/2019/05/25/%E7%94%A8-Python-%E6%89%93%E9%80%A0%E8%87%AA%E5%B7%B1%E7%9A%84-Telegram-Bot/

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。

这是我的群组消息。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值