目录
一、添加机器人
1、创建飞书群组
2、添加机器人
这个地址保管好
二、通过webhook发送消息
详情请见《飞书官方开发文档》
注:如想要@具体成员,则需要获取对方的user_id,可参考:获取user_id
这里为获取user_id 写的,如果上面卡住看这个,顺利就忽略
1、打开API调试台
定位到下图位置
打开之后得先创建一个应用,随便创建
这个开通权限也是一个重要事项,需要审核
1、发送文本消息
import requests
import json
class FeishuTalkToUser:
# 机器人webhook
chatGPT_url = '你飞书的webhook'
# 发送文本消息
def sendTextmessage(self, content):
url = self.chatGPT_url
headers = {
"Content-Type": "application/json; charset=utf-8",
}
message = {
"msg_type": "text",
"content": {
# @ 单个用户 <at user_id="ou_xxx">姓名</at>
"text": content + "<at user_id=\"ff333\">test</at>"
# @ 所有人 <at user_id="all">所有人</at>
# "text": content + "<at user_id=\"all\">test</at>"
}
}
response = requests.post(url=url, data=json.dumps(message), headers=headers)
return response.json
# 执行发送文本消息
content = "发福利了!"
FeishuTalk().sendTextmessage(content)
2、发送富文本
import requests
import json
class FeishuTalk:
# 机器人webhook
chatGPT_url = 'webhook'
# 发送富文本消息
def sendFuTextmessage(self, content):
url = self.chatGPT_url
headers = {
"Content-Type": "application/json; charset=utf-8",
}
payload_message = {
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "微博头条热榜",
"content": content
}
}
}
}
response = requests.post(url=url, data=json.dumps(payload_message), headers=headers)
return response
# 微博头条榜单
def getHotBand(self):
url = "https://www.weibo.com/ajax/statuses/hot_band"
headers = {
"cookie": "XSRF-TOKEN=iuIb9M_gQ8D4FjMwUthqcink; SUB=_2AkMUpJdaf8NxqwJRmPEVz2Pib4V_zwrEieKi-GaBJRMxHRl-yT92qhALtRB6PyS5tbPLRbsCo0gfSwhlb8PLq3CnqnuA; SUBP=0033WrSXqPxfM72-Ws9jqgMF55529P9D9WFyRDSrne6a4e.bkQHJzd-.; WBPSESS=IawIaCISeX-46VmeRocrJ40RrQZ7YTNxKt6pB9xuTQ-WP-uhwIvsoHpBEQfU2CGlyGf32loDQLI6ykRbGvzNf_mvmCuvfYLwUPDbYHJizUdUKfKplkCi6sPas7wrz6ACVGt8HOr-w8hjNGpZtkeUtLcl0-BFnXMuSPDMToH7QlI=",
"x-xsrf-token": "iuIb9M_gQ8D4FjMwUthqcink"
}
response = requests.get(url=url, headers=headers).json()
bandList_all = []
index = 1
for item in response['data']['band_list']:
bandDict = {"tag": "text"}
bandList = []
bandDict.update({"text": "No." + str(index) + ":" + item['word']})
bandList.append(bandDict)
index += 1
bandList_all.append(bandList)
return bandList_all
# 发送富文本消息
content = FeishuTalk().getHotBand()
FeishuTalk().sendFuTextmessage(content)