美文网首页
Python 操控企业微信群机器人

Python 操控企业微信群机器人

作者: 我是石巍 | 来源:发表于2020-11-02 10:24 被阅读0次

    目标

    企业微信群机器人常用来作为通知工具,群发消息给群内成员,充当小助手的角色。但若按照官方 API 文档来构建请求,也确实不太方便。本文通过 Python 第三方库来控制企业微信群机器人发送消息。

    知识储备

    • Python3
    • Markdown
    • YAML

    快速开始

    获取 Robot Key

    添加机器人之后,可以获取到 webhook 地址,假设 webhook 是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=633a31f6-7f9c-4bc4-97a0-0ec1eefa589

    webhook 中的 633a31f6-7f9c-4bc4-97a0-0ec1eefa589 就是 Robot Key

    安装第三方库

    pip install WorkWeixinRobot
    

    通过 Python 代码操控机器人

    发送纯文本消息

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    # 导入WorkWeixinRobot 库
    from WorkWeixinRobot.work_weixin_robot import WWXRobot
    
    # 初始化一个机器人实例
    rbt = WWXRobot(key=ROBOT_KEY)
    
    # 发送一个字符串作为文本消息
    rbt.send_text(content='Hello, World')
    

    发送 Markdown 格式消息

    content = '\n'.join([
        '# 企业微信群机器人',
        '#### WorkWeixinRobot', 
        '[GitHub地址](https://github.com/seoktaehyeon/work-weixin-robot)'
    ])
    rbt.send_markdown(content=content)
    

    发送图片

    rbt.send_image(local_file='local_image.jpg')
    

    还支持直接发送一个在线的图片

    url = 'http://xxxx.jpg'
    rbt.send_image(remote_url=url)
    

    发送图文

    articles = [
        {
            'title': '企业微信群机器人',
            'description': '如何配置企业微信群机器人?', 
            'url': 'https://work.weixin.qq.com/help?person_id=1&doc_id=13376',
            'picurl': 'https://p.qpic.cn/pic_wework/3478722865/7b7dda774dab6fcebd7949815c85fb0f47681013914755be/0'
        },
        {
            'title': 'Python 操控企业微信机器人',
            'description': '不但可以 Python 脚本,还可以直接命令行执行',
            'url': 'https://pypi.org/project/WorkWeixinRobot',
            'picurl': 'https://www.python.org/static/img/python-logo.png'
        }
    ]
    rbt.send_news(articles=articles)
    

    通过命令行操控机器人

    该第三方库还提供了命令行工具供用户执行,即使不会 Python 也能便捷的使用。

    Usage: wwx-robot -k <robot_key> -t <msg_type> -d <msg_data> -f <msg_file_path>
    

    对参数进行一下说明:

        -k      Robot key
        -t      消息类型
        -d      消息数据内容
        -f      消息内容文件
    

    说明:

    消息类型 参数 文件类型
    文本类型 text txt
    markdown格式 markdown md
    图片类型 image jpg,png
    图文类型 news yaml

    发送文本消息,可以直接指定字符串内容:

    wwx-robot -k ${ROBOT_KEY} -t text -d "Hello world"
    

    也可以指定文本文件:

    echo "Hello, World" > hello.txt
    wwx-robot -k ${ROBOT_KEY} -t text -f ./hello.txt
    

    发送 markdown 格式的消息:

    cat <<EOF > hello.md
    ## Weixin MSG
    Hello, World
    EOF
    wwx-robot -k ${ROBOT_KEY} -t markdown -f ./hello.md
    

    发送图片:

    wwx-robot -k xxxx -t image -f ./picture.png
    

    发送图文消息:

    cat <<EOF > articles.yaml
    - title: '企业微信群机器人使用手册'
      description: '如何配置群机器人?'
      url: 'https://work.weixin.qq.com/help?person_id=1&doc_id=13376'
      picurl: 'https://p.qpic.cn/pic_wework/3478722865/7b7dda774dab6fcebd7949815c85fb0f47681013914755be/0'
    - title: 'Python 操控企业微信机器人'
      description: '不但可以 Python 脚本,还可以直接命令行执行'
      url: 'https://pypi.org/project/WorkWeixinRobot'
      picurl: 'https://www.python.org/static/img/python-logo.png'
    EOF
    wwx-robot -k xxxx -t news -f ./articles.yaml
    

    相关文章

      网友评论

          本文标题:Python 操控企业微信群机器人

          本文链接:https://www.haomeiwen.com/subject/vsgpvktx.html