我想运行一个 Python 脚本,最后通过 MS Teams 将结果以文本格式发送给几个员工
是否有任何已经构建的库允许我通过 Python 代码在 Microsoft Teams 中发送消息?
原文由 Ricardo Vilaça 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想运行一个 Python 脚本,最后通过 MS Teams 将结果以文本格式发送给几个员工
是否有任何已经构建的库允许我通过 Python 代码在 Microsoft Teams 中发送消息?
原文由 Ricardo Vilaça 发布,翻译遵循 CC BY-SA 4.0 许可协议
一种无需使用任何外部模块即可向团队发送消息的简单方法。这基本上是在 pymsteams 模块的引擎盖下。当您使用 AWS Lambda 时它更有用,因为您不必在 Lambda 中添加层或提供 pymsteams 模块作为部署包。
import urllib3
import json
class TeamsWebhookException(Exception):
"""custom exception for failed webhook call"""
pass
class ConnectorCard:
def __init__(self, hookurl, http_timeout=60):
self.http = urllib3.PoolManager()
self.payload = {}
self.hookurl = hookurl
self.http_timeout = http_timeout
def text(self, mtext):
self.payload["text"] = mtext
return self
def send(self):
headers = {"Content-Type":"application/json"}
r = self.http.request(
'POST',
f'{self.hookurl}',
body=json.dumps(self.payload).encode('utf-8'),
headers=headers, timeout=self.http_timeout)
if r.status == 200:
return True
else:
raise TeamsWebhookException(r.reason)
if __name__ == "__main__":
myTeamsMessage = ConnectorCard(MSTEAMS_WEBHOOK)
myTeamsMessage.text("this is my test message to the teams channel.")
myTeamsMessage.send()
参考资料:pymsteams
原文由 nirojshrestha019 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答3.1k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1.9k 阅读
3 回答1.8k 阅读
1 回答1.4k 阅读✓ 已解决
1. 在 MS Teams 中创建一个 webhook
将传入的 webhook 添加到团队频道:
2.安装pymsteams
3. 创建你的 python 脚本
此处提供更多信息:
将网络书添加到 MS Teams
Python pymsteams 库