码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【NLP开发】Python实现聊天机器人(微信机器人)


    🍺NLP开发系列相关文章编写如下🍺:
    1🎈【小沐学NLP】Python实现词云图🎈
    2🎈【小沐学NLP】Python实现图片文字识别🎈
    3🎈【小沐学NLP】Python实现中文、英文分词🎈
    4🎈【小沐学NLP】Python实现聊天机器人(ELIZA))🎈
    5🎈【小沐学NLP】Python实现聊天机器人(ALICE)🎈
    6🎈【小沐学NLP】Python实现聊天机器人(微软Azure)🎈
    7🎈【小沐学NLP】Python实现聊天机器人(微软小冰)🎈
    8🎈【小沐学NLP】Python实现聊天机器人(钉钉机器人)🎈
    9🎈【小沐学NLP】Python实现聊天机器人(微信机器人)🎈
    10🎈【小沐学NLP】Python实现聊天机器人(Selenium、七嘴八舌)🎈
    11🎈【小沐学NLP】Python实现聊天机器人(若干在线聊天机器人)🎈
    12🎈【小沐学NLP】Python实现聊天机器人(ChatterBot,代码示例)🎈
    13🎈【小沐学NLP】Python实现聊天机器人(ChatterBot,集成前端页面)🎈
    14🎈【小沐学NLP】Python实现聊天机器人(ChatterBot,集成web服务)🎈

    文章目录

    • 1、简介
    • 2、机器人配置
      • 2.1 群机器人添加入口
      • 2.2 移除群机器人入口
      • 2.3 发布机器人到公司
      • 2.4 添加/创建群机器人条件
      • 2.5 群机器人Webhook地址
      • 2.6 群机器人发送消息
      • 2.7 如何停用机器人
    • 3、机器人代码测试
      • 3.1 配置curl
      • 3.2 消息类型及数据格式
        • 3.2.1 文本类型
        • 3.2.2 markdown类型
        • 3.2.3 图片类型
        • 3.2.4 图文类型
        • 3.2.5 语音类型
      • 3.3 消息发送代码
        • 3.3.1 代码一
        • 3.3.2 代码二
    • 结语

    1、简介

    https://open.work.weixin.qq.com/help2/pc/14931?person_id=1&is_tencent=

    https://hiflow.tencent.com/document/applications/wwx-robot/#%E7%AC%AC%E4%B8%80%E6%AD%A5-%E6%89%93%E5%BC%80%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%E9%85%8D%E7%BD%AE%E9%A1%B5

    通过接口实现在企业微信群里发送告警或提醒类的消息通知。

    通过定时触发器,可以非常简单快速地建立一个企业微信机器人。我们可以用它来实现喝水、吃饭提醒等小功能,还能实现定时推送新闻、天气,甚至是监控告警的小功能。

    通过腾讯云HiFlow场景连接器,可以零代码的设置企业微信机器人自动/定时发消息的规则,比如:每周五下午6点定时发送周报;收到新的销售线索/报表自动发送消息通知管理群等。
    在这里插入图片描述

    • 发送群图文消息:发送图片+文本标题的消息样式到企业微信群,支持给图片设置跳转链接
    • 发送富文本消息:发送富文本消息到企业微信群,可以给文本添加样式,比如加粗、更改颜色、加超链接等
    • 发送文本消息:发送纯文本消息到企业微信群,并且可以@提醒指定用户

    2、机器人配置

    2.1 群机器人添加入口

    • 1、【电脑端内部群聊->右上方三个点->添加群机器人】,可以新建机器人或选择已发布到公司的机器人。
      在这里插入图片描述
    • 2、【手机端内部群聊->右上角三个点->添加群机器人】
      在这里插入图片描述

    2.2 移除群机器人入口

    【电脑端内部群聊->群成员->点击群机器人鼠标右键->移除机器人】
    在这里插入图片描述
    【手机端内部群聊->右上角三个点->群机器人->点击对应的机器人->右上角三个点->移除】
    在这里插入图片描述

    2.3 发布机器人到公司

    在群聊选择需要发布的【机器人->鼠标右键“查看资料”->发布到公司】
    在这里插入图片描述
    在这里插入图片描述

    2.4 添加/创建群机器人条件

    1、目前内部群聊支持机器人,外部群暂不支持。(若内部群开启了“仅群主管理”,则成员无添加机器人入口)
    2、管理员在管理后台未限制创建机器人,或在白名单内的成员,支持创建机器人。

    在这里插入图片描述

    2.5 群机器人Webhook地址

    群机器人的创建人,可在查看机器人信息时,获取对应机器人的Webhook URL。
    手机端可【进入群聊->右上角三个点->群机器人->点击对应机器人->Webhook地址】
    在这里插入图片描述
    电脑端可【进入群聊->群成员列表->右键对应机器人->查看资料->Webhook地址】
    在这里插入图片描述

    2.6 群机器人发送消息

    1、目前暂不支持设置消息回调配置。支持设置机器人主动推送。
    2、群聊可添加的机器人数量暂无上限。
    3、Win端和手机端中的群机器人推送的消息气泡背景色为灰色,v3.1.6开始,Mac端中群机器人的消息气泡背景色为白色。
    4、机器人发消息的频率:每个机器人发送的消息不能超过20条/分钟。
    5、目前机器人支持推送文本消息、markdown格式、图片类型、文件类型、图文类型的消息。

    注:文件大小在5B~20M之间;图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068 × 455,小图150 × 150;图片(base64编码前)最大不能超过2M,支持JPG,PNG格式。

    2.7 如何停用机器人

    超级管理员支持在【管理后台->应用管理->自建->机器人】中停用/启用机器人应用和停用/启用机器人。
    在这里插入图片描述

    3、机器人代码测试

    https://developer.work.weixin.qq.com/document/path/91770

    在终端某个群组添加机器人之后,创建者可以在机器人详情页看到该机器人特有的webhookurl。开发者可以按以下说明向这个地址发起HTTP POST 请求,即可实现给该群组发送消息。下面举个简单的例子.
    假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa

    注意要将url替换成你的机器人webhook地址,content必须是utf8编码.
    curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=693axxx6-7aoc-4bc4-97a0-0ec2sifa5aaa' \
       -H 'Content-Type: application/json' \
       -d '
       {
        	"msgtype": "text",
        	"text": {
            	"content": "hello world"
        	}
       }'
    
    curl -X POST "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx" -H "Content-Type:application/json" -d "{\"msgtype\":\"text\",\"text\":{\"content\":\"今天. 06/01:晴. 19~33°.\"}}"
    

    3.1 配置curl

    cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。

    cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。

    • 下载curl:
      https://curl.se/download.html
      在这里插入图片描述

    https://curl.se/windows/
    在这里插入图片描述

    • 查看curl版本
      在这里插入图片描述

    3.2 消息类型及数据格式

    当前自定义机器人支持文本(text)、markdown(markdown)、图片(image)、图文(news)、文件(file)、语音(voice)、模板卡片(template_card)七种消息类型。

    3.2.1 文本类型

    {
        "msgtype": "text",
        "text": {
            "content": "广州今日天气:29度,大部分多云,降雨概率:60%",
    		"mentioned_list":["wangqing","@all"],
    		"mentioned_mobile_list":["13800001111","@all"]
        }
    }
    

    3.2.2 markdown类型

    {
        "msgtype": "markdown",
        "markdown": {
            "content": "实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n
             >类型:<font color=\"comment\">用户反馈</font>
             >普通用户反馈:<font color=\"comment\">117例</font>
             >VIP用户反馈:<font color=\"comment\">15例"
        }
    }
    

    3.2.3 图片类型

    {
        "msgtype": "image",
        "image": {
            "base64": "DATA",
    		"md5": "MD5"
        }
    }
    

    3.2.4 图文类型

    {
        "msgtype": "news",
        "news": {
           "articles" : [
               {
                   "title" : "中秋节礼品领取",
                   "description" : "今年中秋节公司有豪礼相送",
                   "url" : "www.qq.com",
                   "picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
               }
            ]
        }
    }
    

    3.2.5 语音类型

    {
    	"msgtype": "voice",
    	"voice": {
    		"media_id": "MEDIA_ID"
    	}
    }
    

    3.3 消息发送代码

    3.3.1 代码一

    """
    企业微信
    -*- coding: utf-8 -*-
        @Author  : xxxxxxx
        @File    : WechatWebHook.py
    """
    
    import requests
    
    
    class WechatWebHook:
        """企业微信消息推送"""
    
        @classmethod
        def push_error_msg(cls, msg: str) -> None:
            webhook_uri = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxx"
            """错误日志直接推送至企业微信"""
            data = {
                "msgtype": "text",
                "text": {
                    "content": msg,
                    "mentioned_mobile_list": ["13800000001"]
                }
            }
    
            requests.post(url=webhook_uri, headers={"Content-Type": "text/plain"}, json=data)
    
    
    if __name__ == '__main__':
        WechatWebHook.push_error_msg("当前气温18摄氏度,未来2小时不会下雨,出门佩戴口罩。")
    

    3.3.2 代码二

    curl '企业微信机器人地址' \
       -H 'Content-Type: application/json' \
       -d '
       {
            "msgtype": "text",
            "text": {
                "content": "hello world"
            }
       }'
    
    import os
    import json
    import urllib.request
    
    def main_handler(event, context):
        url = os.environ.get("url")
        data = {
            "msgtype": "markdown",
            "markdown": {
                "content": "hello world",
            }
        }
        data = json.dumps(data).encode("utf-8")
        req_attr = urllib.request.Request(url, data)
        resp_attr = urllib.request.urlopen(req_attr)
        return resp_attr.read().decode("utf-8")
    

    结语

    如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
    如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
    如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
    感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!
    在这里插入图片描述

  • 相关阅读:
    Altair:Python数据可视化库的魅力之旅
    MySQL之BufferPool
    视频推流、视频处理、拉流、手机预览演示
    牛血清白蛋白包裹金纳米簇
    安全入门day01
    关于我的家乡网页设计主题题材——梧州14页HTML+CSS网页
    探索Java中最常用的框架:Spring、Spring MVC、Spring Boot、MyBatis和Netty
    DataGrip 2023:让数据库开发变得更简单、更高效 mac/win版
    DiagnosisPrintDialog 使用广播导致关闭不了的问题
    常用工具总结
  • 原文地址:https://blog.csdn.net/hhy321/article/details/126945378
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号