بنقرة واحدة
aibot-send-text-card
发送"文本通知"模板卡片(`text_notice`)。当用户说"发个通知 / 卡片 / 系统公告 / text_notice / notification card" 时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
发送"文本通知"模板卡片(`text_notice`)。当用户说"发个通知 / 卡片 / 系统公告 / text_notice / notification card" 时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
环境与机器人接入(凭证、.env、长连接启动)。当用户问"怎么跑 aibot-python-sdk / 怎么接入 / 配置 .env / 连接失败"时使用。
接收并处理来自企业微信的消息(text/image/file/video/voice/mixed)与事件(enter_chat/template_card/feedback)。当用户说"接收消息 / 监听机器人 / 收到消息 / 事件回调 / reply / reply_stream" 时使用。
发送"按钮交互"模板卡片(`button_interaction`),含按钮点击回调与卡片更新。当用户说"按钮卡片 / 确认卡片 / 审批 / 投票 / button_interaction / template_card_event" 时使用。
分片上传临时素材 + 主动发送媒体(file/image/voice/video)。当用户说"发文件 / 发图片 / 上传素材 / uploadMedia / sendMediaMessage" 时使用。
主动发送 Markdown 消息(无需用户先发消息)。当用户说"主动推送 / 主动发 / 定时通知 / sendMessage / Markdown" 时使用。
| name | aibot-send-text-card |
| description | 发送"文本通知"模板卡片(`text_notice`)。当用户说"发个通知 / 卡片 / 系统公告 / text_notice / notification card" 时使用。 |
text_notice 模板卡片:单行主标题 + 可选重点数据 + 可选跳转。
import asyncio, os
from dotenv import load_dotenv
from wecom_aibot import WSClient
from wecom_aibot.types import (
WSClientOptions, SendTemplateCardMsgBody,
TemplateCard, TemplateCardSource, TemplateCardMainTitle,
TemplateCardEmphasisContent, TemplateCardAction,
)
load_dotenv()
async def main():
client = WSClient(WSClientOptions(
bot_id=os.getenv("WECOM_BOT_ID"),
secret=os.getenv("WECOM_BOT_SECRET"),
))
auth = asyncio.Event()
@client.on("authenticated")
def on_auth(): auth.set()
client.connect()
await asyncio.wait_for(auth.wait(), timeout=10)
await asyncio.sleep(1)
card = TemplateCard(
card_type="text_notice",
source=TemplateCardSource(desc="系统通知", desc_color=1),
main_title=TemplateCardMainTitle(
title="服务发布完成",
desc="v1.2.0 已上线",
),
emphasis_content=TemplateCardEmphasisContent(
title="状态",
desc="全部正常",
),
card_action=TemplateCardAction(
type=1, # 1=跳转 URL
url="https://work.weixin.qq.com",
),
)
chatid = os.getenv("WECOM_TARGET_CHATID")
result = await client.send_message(
chatid,
SendTemplateCardMsgBody(template_card=card),
)
print(f"errcode={result.errcode}")
await client.disconnect()
asyncio.run(main())
| 字段 | 必须 | 说明 |
|---|---|---|
card_type | ✅ | 固定 text_notice |
source.desc | 来源描述(卡片左上角小字) | |
source.desc_color | 0=灰 1=蓝 2=绿 3=红 | |
main_title.title | ✅ | 主标题(黑色加粗) |
main_title.desc | 副标题(灰色) | |
emphasis_content | 关键数据样式(中部大字) | |
sub_title_text | 二级文本 | |
card_action.type=1 | 整体点击跳转(需 url) | |
card_action.type=2 | 跳转小程序(需 appid + pagepath) |
desc_color: 0=灰(默认)、1=蓝、2=绿、3=红。
慎用红色,避免被识别为告警噪音。
收到消息时也可以流式 + 卡片组合回复:
await client.reply_stream_with_card(
frame, stream_id, "处理完成,详见卡片:",
finish=True, template_card=card,
)