【python】实现飞书机器人定时发送消息

目录

一、添加机器人

1、创建飞书群组

 2、添加机器人

二、通过webhook发送消息

1、发送文本消息

2、发送富文本


一、添加机器人

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)

猜你喜欢

转载自blog.csdn.net/legend818/article/details/130264520