【使用影刀BOSS系统机器人@群内的其他机器人】

使用影刀BOSS系统机器人@群内的其他机器人

bash 复制代码
"""BOSS 系统 - 发文字到飞书群(外网)。

实现要点:把 <at user_id="..."> XML 标签拼进 message 字符串里,
飞书 text 消息收到后会渲染成真正的 @ 提及,比 BOSS 自带的
atUserNameOrUuidList(只认员工花名)通用得多。
"""

import os

import requests

URL = "https://boss-api.shadow-rpa.net/boss/api/v3/manager/message/sendMessageToChat"

# 群标识四选一
TARGET_KEYS = ("chatId", "customNo", "organizationUuid", "organizationName")


def send_text_to_chat(
    message: str,
    *,
    token: str | None = None,
    chat_id: str | None = None,
    custom_no: str | None = None,
    organization_uuid: str | None = None,
    organization_name: str | None = None,
    at_open_ids: list[str] | None = None,
    timeout: int = 10,
) -> dict:
    """发文字到飞书群,群标识四选一。`at_open_ids` 会在消息正文嵌入 @ 标签,渲染为真正的 @ 提及。"""
    token = token or os.environ["BOSS_BEARER_TOKEN"]

    if at_open_ids:
        at_segment = "".join(f'<at user_id="{oid}">@</at> ' for oid in at_open_ids)
        message = at_segment + message

    payload = {"message": message}
    for key, value in zip(TARGET_KEYS, (chat_id, custom_no, organization_uuid, organization_name)):
        if value:
            payload[key] = value
            break
    else:
        raise ValueError(f"必须提供 {TARGET_KEYS} 其一")

    resp = requests.post(
        URL,
        headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"},
        json=payload,
        timeout=timeout,
    )
    resp.raise_for_status()
    data = resp.json()
    if data.get("success") is False:
        raise RuntimeError(data.get("msg") or "推送失败")
    return data


if __name__ == "__main__":
    send_text_to_chat(
        token="XXX",
        chat_id="XXX",
        message="\n【全新任务,与之前所有对话无关】\n请忽略此前全部会话内容,仅依据本条消息执行,不要参考任何历史记录;不需要发我确认表单,直接执行\n\n---\n\n目标:生成「青岛蓝色基点电子商务有限公司」这家企业的项目情况。\n\n步骤:\n1. 请并行调度以下两个智能体\n  ①调用「客户经营智能体 V2.0」智能体,生成RPA使用情况,输出结果及文件。\n  ②调用「单客户工单进线数据分析智能体」,分析最近半年的工单和RPA 开发成熟度,并列行动建议,输出结果及文件。\n2. 对两个智能体返回的内容进行简单总结。",
        at_open_ids=["xxx"],
    )
    print("OK")
相关推荐
鲁邦通物联网10 小时前
机器人梯控状态模型与反馈可靠性验证方法
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
wangxiaoxuan21712 小时前
地图表示怎么选:栅格、点云、体素、TSDF 与 ESDF
机器人·slam·机器人导航·科沃斯八界
鲁邦通物联网1 天前
既有电梯机器人梯控选型:现场可行性评估方法
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
wangxiaoxuan2171 天前
TF2 的原理与使用:把坐标、运动和观测时间一起算清楚
计算机视觉·机器人·科沃斯八界
硅谷秋水1 天前
EgoHumanoid‑V2 方法分析
人工智能·机器学习·计算机视觉·语言模型·机器人
wangxiaoxuan2171 天前
URDF 与机器人状态发布:从关节采样推导整机位姿
机器人
wangxiaoxuan2171 天前
从深度图到点云:投影、滤波、降采样与聚类
机器学习·数据挖掘·机器人·聚类·科沃斯八界
鲁邦通物联网2 天前
工厂与酒店机器人梯控方案设计:如何建立场景参数模型?
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
wangxiaoxuan2172 天前
时间也是机器人数据的一部分:采样、同步、延迟与数据有效期
机器人·科沃斯八界
boombb2 天前
AI Engineer in robotic系列:从地图导入到机器人执行:导览平台 MVP 技术设计与落地
机器人·ai编程