如何开发一个钉钉自定义机器人

简易需求,在钉钉群聊中创建一个机器人定时发送消息

开发环境:

  • python3
  • 钉钉客户端
  • Linux

1.创建一个机器人

打开钉钉电脑客户端,创建一个群组,点击群设置,选择 智能群助手->添加机器人->自定义

image-20220118022405692
image-20220118022443947

设置好名字,开启消息推送,添加安全设置,为简单考虑,使用关键词。设置好后,复制webhook,至此机器人设置完毕。

2.通过webhook发送消息

根据相关功能,开发脚本,这里使用python举例

import time

import requests
import schedule


class Task:
    def __init__(self, webhook):
        """"""
        self.webhook = webhook

    def _task(self):
        self.send_text_msg("[robot] 自定义消息")

    def main(self):
        self.send_text_msg("start。。。")
        schedule.every(5).seconds.do(self._task)
        while True:
            schedule.run_pending()
            time.sleep(1)

    def send_text_msg(self, msg):
        """
        发送文本消息
        :param msg: 
        :return: 
        """
        url = self.webhook

        body = {

            "text": {
                "content": f"{msg}。"
            },
            "msgtype": "text"
        }
        requests.post(url=url, json=body)

    def send_link_msg(self, title, text, pic_url, message_url):
        """
        发送链接消息
        :param title: 
        :param text: 
        :param pic_url: 
        :param message_url: 
        :return: 
        """

        url = self.webhook

        body = {
            "msgtype": "link",
            "link": {
                "text": f"[robot]{text}。",
                "title": f"{title}",
                "picUrl": f"{pic_url}",
                "messageUrl": f"{message_url}"}
        }
        resp = requests.post(url=url, json=body)
        if resp.status_code == 200:
            print(resp.json())


if __name__ == '__main__':
    webhook = "替换成你的webhook链接"
    Task(webhook).main()

用到了两个py库,使用前需要下载。


pip install schedule
pip install requests

3.把脚本扔到服务器上去自己运行

  1. 服务器上安装tmux
  2. 服务器上安装python3
  3. 启动脚本
# 安装tmux
yum install tmux 
# 开启一个会话
tmux new -s mytask
# 启动脚本
cd /脚本位置
python main.py
image-20220118022509999

参考文档:钉钉开放文档 (dingtalk.com)

你可能感兴趣的:(如何开发一个钉钉自定义机器人)