【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例</font>"}
}

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 requestsclass WechatWebHook:"""企业微信消息推送"""@classmethoddef 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.requestdef 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???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/20926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转让北京电力施工总承包二级资质变更条件和流程

在电力工程领域&#xff0c;资质等级是企业能否参与竞标、承接工程的重要标志之一。北京电力工程总包二级资质的转让&#xff0c;是指已经取得该资质的企业将其资质转让给需要的企业。这种转让是基于合作与共赢的原则&#xff0c;旨在推动电力工程行业健康、稳定发展&#xff0…

记录使用自定义编辑器做试题识别功能

习惯了将解析写在代码注释&#xff0c;这里就直接上代码啦&#xff0c;里面用到的bxm-ui3组件库是博主基于element-Plus做的&#xff0c;可以通过npm i bxm-ui3自行安装使用 // 识别方法&#xff1a; // dom 当前识别数据所在区域, questionType 当前点击编辑选择的题目类型&a…

Qt | Qt 资源简介(rcc、qmake)

1、资源系统是一种独立于平台的机制,用于在应用程序的可执行文件中存储二进制文件(前面所讨论的数据都存储在外部设备中)。若应用程序始终需要一组特定的文件(比如图标),则非常有用。 2、资源系统基于 qmake,rcc(Qt 的资源编译器,用于把资源转换为 C++代码)和 QFile …

java—MyBatis框架

简介 什么是 MyBatis&#xff1f; MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&…

软件公司为什么必须要使用低代码系统?

在当今软件行业全国比较内卷的大环境下&#xff0c;软件公司面临着前所未有的挑战。为了在这个竞争激烈的市场中生存并脱颖而出&#xff0c;驰骋低代码设计者认为&#xff0c;软件公司必须要使用低代码系统。以下是几个关键的原因&#xff1a; 时代发展的必然选择 低代码系统是…

领导力中的说服艺术

本文主要介绍了亚里士多德修辞三角理论&#xff0c;即演讲者在说服听众时如何运用品格&#xff08;Ethos&#xff09;、情感&#xff08;Pathos&#xff09;和逻辑&#xff08;Logos&#xff09;三种基本的修辞手法。原文: The Art of Persuasion in Leadership 亚里士多德的说…

【自动驾驶技术】自动驾驶汽车AI芯片汇总——地平线篇

0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但是内容可能存在不准确的地方。如果发现文中错误&#xff0c;希望批评指正&#xff0c;共同进步。 本篇文章是这个系列的第二篇&#x…

50个常用的Docker命令及如何使用

这里整理了50个常用的Docker命令以及每个命令的使用方法。 docker version:显示Docker版本信息。 示例:docker version docker info:显示Docker系统信息。 示例:docker info docker pull <image>:从Docker Hub下载镜像。 示例:docker pull ubuntu docker run <i…

CMake编译安装、生成可执行程序、生成静态动态库以及静态动态库的链接

1 CMake介绍 CMake是一个开源的、跨平台的构建系统&#xff0c;用于管理软件从源代码到可执行文件的整个构建过程。它最初由Kitware公司为ITK&#xff08;Insight Segmentation and Registration Toolkit&#xff09;和VTK&#xff08;Visualization Toolkit&#xff09;等开源…

在Linux kali下载、安装Perl环境

目录 Perl介绍 下载安装 官网下载 在Windows安装 在Linux和Mac OS安装 Perl介绍 Perl一种功能丰富的计算机程序语言&#xff0c;运行在超过100种计算机平台上&#xff0c;适用广泛&#xff0c;从最初是为文本处理而开发的&#xff0c;现在用于各种任务&#xff0c;包括系统…

面试官:Spring中都应用了哪些设计模式?

设计模式是我们项目中经常会涉及到的项目进行重构、解构时的一种方法。 比如我们常见的单例模式、工厂模式、策略模式、装饰器模式等都是比较常用的&#xff1b;关于 23 种设计模式&#xff0c;大家可以找本书专门去学习一下&#xff0c;在 Java 框架的源码中也不例外&#xf…

如何用python做一个用户登录界面——浔川python社

1 需解决的问题&#xff1a; 1.1如何用python做一个用户登录界面&#xff1f; 1.2需要用到哪些库、模块&#xff1f; 2 问题解决&#xff1a; 2.1 回答 1.1 &#xff1a;合理即可&#xff0c;无标准回答。 2.2 回答 1.2 &#xff1a;tk库&#xff08;缩写&#xff09;、GUL界面…

C++20实战之channel

C20实战之channel 继前面两节的直播&#xff0c;讲解了thread、jthread、stop_token、stop_source、stop_callback、cv、cv_any等的用法与底层实现&#xff0c;那么如何基于这些知识实现一个小项目呢&#xff1f; 于是引出了这篇&#xff0c;写一个channel出来。 注&#xff1a…

【AI】设计师人人必备的Ai课程,AIGC实战教学

课程介绍 专为设计师定制的AI绘画视觉课程&#xff0c;包含排版、插画、海报和动漫等。共43节课程&#xff0c;2.06G视频&#xff0c;教授AI应用技巧&#xff0c;提高设计效率和质量。内容涵盖词生图方法、AI风格设计等&#xff0c;帮助学员在设计领域取得成就。 1_01-ai课程…

jrt落地deepin

经过昨天一晚上的努力&#xff0c;把deepin和win10的双系统安装好了。同时把jrt开发需要的svn&#xff0c;jdk,idea安装好里&#xff0c;代码也checkout里。 首先安装系统碰到安装deepin后启动时候无法选择win10,在宏伟兄帮助下找到资料执行sudo update-grub解决了。 然后程…

糖果促销【百度之星】/思维

糖果促销 思维 大佬的解法&#xff1a; #include<bits/stdc.h> using namespace std; typedef long long ll; int main() {ll t;cin>>t;for(int i0;i<t;i){ll p,k;cin>>p>>k;if(k0) cout<<0<<endl;else{k-(k-1)/p;cout<<k<…

v-for中key的作用

v-for中key的作用 例如我们用v-for渲染一个列表[1, 2, 4 ,5]&#xff0c;然后在中间插入一个3变成[1,2,3,4,5]。v-for写了key和没有写key&#xff0c;Vue是怎么处理的呢&#xff1f; Vue对有key的会调用patchKeyedChildren方法&#xff1b;没有key的调用patchUnkeyedChildren方…

Vue3 -Computed计算属性

前言&#xff1a; Computed属性属于Vue3中的响应式核心(与之共同说明的还有ref&#xff0c;reactive&#xff0c;watch...) 接受一个 getter 函数&#xff0c;返回一个只读的响应式 ref 对象。该 ref 通过 .value 暴露 getter 函数的返回值。它也可以接受一个带有 get 和 set…

AI搜索,围攻百度

图片&#xff5c;电影《双子杀手》截图 ©自象限原创 作者丨程心 国内的大模型厂商落地C端&#xff0c;都盯上了AI搜索。 随着5月30号&#xff0c;腾讯宣布推出基于混元大模型的APP“腾讯元宝”&#xff0c;并基于搜狗搜索引擎&#xff0c;上线AI搜索功能。几乎当下所有…

【Qt】Qt Style Sheets (QSS) 指南:打造个性化用户界面

文章目录 前言&#xff1a;1. QSS 选择器2. 子控件选择器&#xff08;Sub-Controls&#xff09;2.1. 示例&#xff1a;给 QComboBox 给下拉按钮加上图标2.2. 示例&#xff1a;修改进度条颜色 3. 伪类选择器3.1. 代码示例: 设置按钮的伪类样式.3.2. 代码示例: 使用事件方式实现同…