2401_83249887 2024-03-12 11:27 采纳率: 0%
浏览 268

飞书怎么使用机器人来转发群聊消息

#飞书使用时想通过机器人实现群聊消息的自动转发
#使用飞书开发平台

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-12 11:28
    关注

    引自免费微信小程序:皆我百晓生

    在飞书平台上,你可以通过创建应用并配置机器人来实现群聊消息的自动转发。以下是详细的步骤:

    1. 创建应用 首先登录到飞书开放平台,点击“创建应用”按钮,按照提示填写应用名称和相关信息。

    2. 权限设置 在应用管理页面,为你的应用添加所需的OAuth权限,包括“消息与群组”下的“发送应用消息”和“读取用户所在群组信息”,以及“事件订阅”权限,以便接收群聊消息事件。

    3. 创建机器人 在应用详情页找到“机器人管理”,点击“创建机器人”,选择“群机器人类”,然后将该机器人添加到你希望转发消息的群聊中。

    4. 订阅群聊消息事件 在“事件订阅”模块,订阅message.create.v2事件,这意味着每当群聊中有新消息时,会向你的服务器发送Webhook请求。

    5. 编写Python代码处理Webhook事件 在你的服务器端(如Flask或Django等框架)搭建一个接口,用于接收并处理飞书推送过来的消息事件,下面是一个使用Flask接收Webhook事件并转发消息的基本示例:

    from flask import Flask, request
    import json
    
    app = Flask(__name__)
    
    @app.route('/webhook', methods=['POST'])
    def webhook():
        data = json.loads(request.data)
        
        if data['event_type'] == 'message_create_v2':
            message_data = data['message']
            
            # 检查消息是否来自群聊,并获取目标转发群聊的open_id
            if message_data['chat_type'] == 'group' and 'forward_to_group_id' in globals():
                forward_to_group_id = globals()['forward_to_group_id']
    
                # 构造转发消息体
                forward_message = {
                    "msg_type": "interactive",
                    "card": {
                        "config": {
                            "wide_screen_mode": True
                        },
                        "elements": [
                            {
                                "tag": "div",
                                "text": {
                                    "content": f"【转发自{message_data['chat_name']}】\n{message_data['content']['text']}"
                                }
                            }
                        ]
                    }
                }
    
                # 调用飞书API转发消息
                headers = {
                    "Authorization": "Bearer YOUR_APP_ACCESS_TOKEN",
                    "Content-Type": "application/json"
                }
                url = f"https://open.feishu.cn/open-apis/message/v4/send/group/{forward_to_group_id}"
                response = requests.post(url, headers=headers, json=forward_message)
    
                # 处理响应结果
                if response.status_code == 200:
                    return "Message forwarded successfully."
                else:
                    return "Failed to forward the message."
    
        return "Event handled."
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=8000)
    

    注意替换 YOUR_APP_ACCESS_TOKEN 为实际应用的访问令牌,并预先定义好要转发到的目标群聊ID (forward_to_group_id)。

    请根据实际情况调整代码逻辑,确保正确解析原始消息内容,并将其格式化后转发至目标群聊。同时,别忘了安装必要的Python库,例如 requests

    以上是基本流程及Python示例,具体实施时需要参照飞书开放平台文档进行详细配置和开发。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月12日