zoukankan      html  css  js  c++  java
  • python实现飞书创建机器人发送消息

    一、前提

    1.创建一个自己的机器人应用,获取appid,appsecret,使用这两个获取token

    2.创建一个聊天群,将机器人添加到群内:https://open.feishu.cn/document/uYjL24iN/uYTMuYTMuYTM

    二、代码

    import requests
    
    class FeishuApi():
        def __init__(self,app_id,app_secret,chat_name):
            self.app_id=app_id
            self.app_secret=app_secret
            self.chat_name=chat_name
            self.access_token=self.get_access_token()
            self.headers={
                "Authorization": "Bearer {}".format(self.access_token),
                "Content-Type": "application/json"
            }
    
        # 获取token
        def get_access_token(self):
            data = {
                "app_id": self.app_id,
                "app_secret": self.app_secret
            }
            try:
                res = requests.post("https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal/", json=data)
                if res.status_code == 200:
                    res_json = res.json()
                    access_token = res_json.get("tenant_access_token")
                    return access_token
            except Exception as e:
                return {"error": e}
    
        # 获取群列表
        def get_chat_list(self):
            params = {
                "page_size": 100,
                "page_token": ""
            }
            try:
                res = requests.get("https://open.feishu.cn/open-apis/chat/v4/list", params=params, headers=self.headers)
                if res.status_code == 200:
                    res_json = res.json()
                    data = res_json.get("data")
                    groups = data.get("groups")
                    for i in groups:
                        if i.get("name") == self.chat_name:
                            return i
            except Exception as e:
                return {"error": e}
    
        def send_msg(self,text):
            res = self.get_chat_list()
            chat_id = res.get("chat_id")
    
            data = {
                "chat_id": chat_id,
                "msg_type": "text",
                "content": {
                    "text": text
                }
            }
            try:
                res=requests.post("https://open.feishu.cn/open-apis/message/v4/send/", headers=self.headers,json=data)
                return res.json()
            except Exception as e:
                return {"error":e}
    
    if __name__ == '__main__':
        app_id="*******"
        app_secret="********"
        chat_name="群名称"
        fei=FeishuApi(app_id,app_secret,chat_name)
        res=fei.send_msg("I am coming")
        print(res)
  • 相关阅读:
    PHP多条件模糊查询
    纯干货!一款APP从设计稿到切图过程全方位揭秘(转)
    0532. K-diff Pairs in an Array (M)
    0933. Number of Recent Calls (E)
    0139. Word Break (M)
    0713. Subarray Product Less Than K (M)
    0399. Evaluate Division (M)
    0495. Teemo Attacking (M)
    0179. Largest Number (M)
    0389. Find the Difference (E)
  • 原文地址:https://www.cnblogs.com/angelyan/p/12390027.html
Copyright © 2011-2022 走看看