序言
近期本人参与了关于创建和使用扣子相关活动的经验分享,在此之前,对这项技术的理解尚显肤浅,仅草草地搭建了一个基础模型,并未深入探索其高级特性,如插件开发、知识库构建、工作流程设计等。然而,随着实践的不断深入,我意识到在实际工作场景中,这些功能具有极高的应用价值。因此,本次活动我将致力于探讨如何利用扣子平台实现更为实用的功能,例如,如何通过发送钉钉消息来提高工作效率。
创建插件
扣子平台为广大开发者提供了丰富多样的插件开发方式,若您对此感兴趣,可参阅官方文档以获取更多详细信息:www.coze.cn/docs/guides...。作为一名 Python 程序员,我通常采用 Coze IDE + Python 的组合来进行插件开发。 如果您日常工作中经常使用钉钉,那么这个插件将能很好地满足您的需求;而如果您使用的是飞书或企业微信,同样可以参照上述方法进行类比实现。
步骤
首先,请访问扣子官网 www.coze.cn,登录个人账户后,依次点击"插件"→"创建插件",如图所示: 接着,填写插件名称、插件描述,并根据需要选择创建方式及编程语言,如图所示:
随后,点击"确定"按钮,进入插件详情页面,再点击"在 IDE 中创建工具"选项,如图所示:
在弹出的对话框中,填写工具名称及简介,如图所示:
最后,点击"确定"按钮,进入代码编写界面,如图所示
温馨提示:
- 请务必保留模板中的 handler 方法,以免影响插件正常运行。
- 返回值应为 JSON 格式的数据。
代码核心
接下来,便是编写插件的核心代码部分。以下仅简要概述实现思路,完整代码较长,故此处不再赘述,如需深入了解,欢迎留言讨论。
python
class DingtalkChatbot(object):
"""
钉钉群自定义机器人,支持文本(text)、连接(link)、markdown三种消息类型!
"""
def __init__(self, webhook, secret=None, pc_slide=False, fail_notice=False):
"""
机器人初始化
"""
pass
def update_webhook(self):
"""
更新签名
"""
pass
def msg_open_type(self, url):
"""
消息链接的打开方式
"""
pass
def send_text(self, msg, is_at_all=False, at_mobiles=[], at_dingtalk_ids=[], is_auto_at=True):
"""
text类型
"""
pass
def send_image(self, pic_url):
"""
image类型
"""
pass
def send_link(self, title, text, message_url, pic_url=''):
"""
link类型
"""
pass
def send_markdown(self, title, text, is_at_all=False, at_mobiles=[], at_dingtalk_ids=[], is_auto_at=True):
"""
markdown类型
"""
pass
def post(self, data):
"""
发送消息(内容UTF-8编码)
"""
pass
以上即为核心方法,主要实现以下功能:
- 支持发送Text消息
- 支持发送Link消息
- 支持发送image表情消息
- 支持发送Markdown消息
- 支持发送消息失败时自动通知
- 支持发送消息链接打开方式
- 支持发送消息频率限制
- 支持发送消息
然后,我们定义输入参数,如图所示:
至此,插件开发已基本完成。接下来,让我们测试一下插件的实际效果:
设定消息类型为:Text,如图所示
点击"运行"按钮,钉钉将接收并显示文本消息,如图所示
设定消息类型为:Link,如图所示
点击"运行"按钮,钉钉将接收并显示该消息,如图所示:
设定消息类型为:Image,如图所示
点击"运行"按钮,钉钉将接收并显示该消息,如图所示:
设定消息类型为:MarkDown,如图所示
点击"运行"按钮,钉钉将接收并显示该消息,如图所示:
测试通过之后,我们发布插件,便于在bot中使用。
点击发布,确认信息后,确认即可发布成功。
生成您的专属 bot
这款由我精心打造的 bot 旨在能够迅速、精确地向钉钉群发送特定类型的消息。为了体现其独特性,我们赋予它一个极具意义的名字------"钉钉信使"。
个性化的设定和智能化的应答逻辑
经过反复调试和测试,我认为以下的配置设置可以非常好地适配我开发的插件,详情如下
bash
# 角色
你是一个具备信息聚合及自动同步能力的智能助手,可将指定信息准确无误地发送至钉钉群。
## 技能
### 技能 1: 精准发送信息至钉钉群
1. 依据用户提供的 Webhook、secret 和消息类型,自动将信息同步至指定的钉钉群。
### 技能 2: 高效信息筛选与整理
1. 能够对聚合的信息进行有效筛选和整理,剔除冗余及无效内容。
2. 保证传至钉钉群的信息精准、有价值。
### 技能 3: 告诉用户支持消息类型
1. Text、Link、Image、MarkDown
### 技能 4: 告诉用户不同类型如何传参数
1. Text:需要text参数
2. Link:需要text、title、message_url、pic_url参数
3. Image:需要pic_url参数
4. MarkDown:序言text、title参数
### 技能5: 给用户提供基本模版
1. {
"webhook": "",
"secret": "",
"message_type": "MarkDown",
"text": "我就是小助手,发送MarkDown消息!",
"title": "我是标题",
"message_url": "",
"pic_url": ""
}
## 限制
- 严格遵循钉钉群的相关规定与限制。
- 对于无法支持的信息类型,及时向用户反馈。
- 指定消息类型为:Text、Link、Image、MarkDown
集成自定义插件
在插件中,添加已经定义好的钉钉消息插件,截图所示
设置开场白以及预置问题
预设问题的设计初衷是为了让您更加便捷、快速地使用插件。我们相信,通过预设问题,您可以轻松地将消息发送至钉钉群。具体设置方法如下:
接下来,让我们一起来体验一下这个 bot 的实际效果吧:
最后
经过不断的努力和钻研,成功研发出了自有的钉钉消息插件,并将其应用于钉钉信使机器人之中,实现了技术与业务的深度融合。
bot:
最后
经过不断的努力和钻研,成功研发出了自有的钉钉消息插件,并将其应用于钉钉信使机器人之中,实现了技术与业务的深度融合。
BotID : 7358335622786154531 www.coze.cn/store/bot/7...