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

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

获取企业 ID

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

自建企业微信机器人

配置机器人应用详情

功能配置

接收消息服务器配置

配置消息服务器配置

配置环境变量

获取 agentId 和 Secret 信息

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

csharp 复制代码
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 配置

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 定时任务模块

csharp 复制代码
npm install node-schedule

配置定时发送任务

csharp 复制代码
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 库

csharp 复制代码
npm install axios

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

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

具体实现

js 复制代码
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)
})
相关推荐
狐狐生风4 小时前
LangChain实现简易版-----PDF 文档问答机器人
人工智能·langchain·机器人·pdf·prompt
2601_957964874 小时前
水下机器人锂电池厂家解析(ROV/AUV/UUV电源系统解决方案)【浩博电池】
机器人
AI进化营-智能译站5 小时前
ROS2 C++开发系列19-枚举定义机器人状态机|随机数生成仿真测试数据流
java·c++·ai·机器人
weixin_386212395 小时前
20260502 杭州机器人仿真岗位整理
机器人
AI进化营-智能译站20 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
平原君20881 天前
SLAM 08.后端-非线性优化
机器人·自动驾驶
05候补工程师1 天前
【ROS 2 具身智能】Gazebo 仿真避坑指南:从“幽灵机器人”到传感器数据流打通
人工智能·经验分享·笔记·ubuntu·机器人
AI进化营-智能译站1 天前
ROS2 C++开发系列07-高效构建机器人决策逻辑,运算符与控制流实战
开发语言·c++·ai·机器人
2601_958320571 天前
【小白零基础上手 】钉钉内部机器人接入 OpenClaw 完整流程讲解(含安装包)
人工智能·windows·机器人·钉钉·open claw·open claw安装
龙亘川1 天前
具身智能机器人安全深度解析:从风险现状到防护实践(2026)
安全·机器人·具身智能安全技术白皮书