2023 年最新企业微信官方会话机器人开发详细教程(更新中)

目标是开发一个简易机器人,能接收消息并作出回复。

获取企业 ID

企业信息页面链接地址:https://work.weixin.qq.com/wework_admin/frame#profile

在这里插入图片描述

自建企业微信机器人

在这里插入图片描述

配置机器人应用详情

在这里插入图片描述

功能配置

在这里插入图片描述

接收消息服务器配置

配置消息服务器配置

在这里插入图片描述

配置环境变量

获取 agentId 和 Secret 信息
在这里插入图片描述

创建 .env 配置文件配置企业微信机器人应用的配置信息

corpId=
corpSecret=
agentId=

发送应用消息配置

配置应用消息:https://developer.work.weixin.qq.com/document/path/90236

请求方式POST(HTTPS)
请求地址https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

机器人应用支持推送文本、图片、视频、文件、图文等类型。

配置 POST 请求参数
在这里插入图片描述
config.js 配置

const request = require('request')
const { config } = require('dotenv')
config()const corpId = process.env.corpId
const corpSecret = process.env.corpSecret
const agentId = parseInt(process.env.agentId)
const toUser = '@all'const tokenUrl = `https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=${corpId}&corpsecret=${corpSecret}`
const sendMsgUrl = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=";function getToken(success, error) {request(tokenUrl, function(error, response, body) {if (!error && response.statusCode == 200) {var json = JSON.parse(body);console.log(json)success(json.access_token)} else {error('Token in error.')}})
}function sendMessage(token, content) {const requestData = {touser: toUser,msgtype: "text",agentid: agentId,safe: 0,text: {content: content}}request({url: `${sendMsgUrl}${token}`,method: "POST",json: true,headers: {"content-type": "application/json",},body: requestData}, function(error, response, body) {console.log(body)if (!error && response.statusCode == 200) {}});
}function sendText(content) {getToken((token) => {sendMessage(token, content)}, (error) => {console.log(error)})
}module.exports = {sendText,
}

定时发送任务

npm 下载 node-schedule 定时任务模块

npm install node-schedule

配置定时发送任务

const alarmWechat = require('./config.js')
const schedule = require('node-schedule')const scheduleTask = ()=> {schedule.scheduleJob('30 * * * * *',() =>{console.log('scheduleCronstyle:' + new Date());alarmWechat.sendText('testmessage')}); 
}scheduleTask();

开发者调试工具

在这里插入图片描述

群机器人配置

下载安装 axios 库

npm install axios

创建 .env 环境变量配置文件

HOOKURL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=【密钥】

具体实现

const axios = require("axios")
const { config } = require("dotenv")
config()let data = {msgtype: "text",text: {content: "helloworld"}
}axios.post(hookurl, data, {headers: {"Content-Type": "application/json"}
}).then(res => {console.log(res)
}).catch(err => {console.log(err)
})

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

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

相关文章

No204.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

百望云携手华为发布金融信创与数电乐企联合方案 创新金融合规变革

10月27日,北京发布《关于开展全面数字化的电子发票试点工作的公告》,自2023年11月01日起开展数电票试点。千呼万唤始出来,拉开了北京地区企业开展数电票试点的序幕。 百望云作为数电票行业翘楚,电子发票服务平台供应商&#xff0c…

【JAVA学习笔记】69 - 多用户通信系统

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/QQClient https://github.com/yinhai1114/Java_Learning_Code/tree/main/QQServer 〇、环境设置以及前言 该项目内会弱化UI界面的设计,因为JAVA本质不是用来开发界面的。 项目开发流程 对于…

时间序列预测实战(十四)Transformer模型实现长期预测并可视化结果(附代码+数据集+原理介绍)

论文地址->Transformer官方论文地址 官方代码地址->暂时还没有找到有官方的Transformer用于时间序列预测的代码地址 个人修改地址-> Transformer模型下载地址CSDN免费 一、本文介绍 这篇文章给大家带来是Transformer在时间序列预测上的应用,这种模型最…

jupyter lab常用插件集合

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

笔试题之指针和数组的精讲

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…

【电源专题】低功耗设备如何解决POE协议要求的PD最小功耗?

要让PD正常工作起来除了需要与PSE握手协商外,还要求PD有一个最小功耗输出。 其原因是如果PD没有在一定时间内给出一个最小功耗,那么PSE将会认为PD设备断开而自动关闭,将功率分配给其他网口。对于不同的类别PD,其要求也不一样。如下所示为Type 1/2/2/4最小电流的要求:如类…

面试官问 Spring AOP 中两种代理模式的区别?很多面试者被问懵了

面试官问 Spring AOP 中两种代理模式的区别?很多初学者栽了跟头,快来一起学习吧! 代理模式是一种结构性设计模式。为对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,并允许在将请求提交给对象前后进行一…

【Python小程序】浮点矩阵加减法

一、内容简介 本文使用Python编写程序,实现2个m * n矩阵的加、减法。具体过程如下: 给定两个m*n矩阵A和B,返回A与B的和或差。 二、求解方法 将两个矩阵对应位置上的元素相加。 三、Python代码 import numpy as np# 用户输入两个矩阵的维…

25.4 MySQL 函数

1. 函数的介绍 1.1 函数简介 在编程中, 函数是一种组织代码的方式, 用于执行特定任务. 它是一段可以被重复使用的代码块, 通常接受一些输入(参数)然后返回一个输出. 函数可以帮助开发者将大型程序分解为更小的, 更易于管理的部分, 提高代码的可读性和可维护性.函数在编程语言…

如何在CentOS上安装SQL Server数据库并通过内网穿透工具实现远程访问

文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,…

【2021集创赛】Risc-v杯三等奖:基于E203 ShuffleNet的图像识别SoC

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。 团队介绍 参赛单位:中国科学技术大学 队伍名称:Supernova 总决赛奖项:三等奖 1.项目简介 本设计以E203处理器为核心,添加协处理器、神经网…