背景
随着ChatGPT火爆,各种玩法被各路英雄玩了个遍,使用ChatGPT帮我们实现一些程序实现无疑是最有想想空间的方向之一,甚至有开发者直呼程序员要失业了~
虽然没有这么夸张,但毫无疑问,ChatGPT将给应用开发者带来巨大的改变,本文将分享一个业余开发者如何使用ChatGPT开发一个Wechaty聊天机器人应用。
需求整理
首先,我一直有一个想法想在微信群中实现,于是简单整理了一下需求:
使用最新版本的Wehcaty开发一个聊天机器人记录会议聊天信息并根据指令导出文档: 1.当我们在群内说 #开会 时开始记录聊天信息 2.当群内说 #结束 时结束记录 3.当群内说 #会议纪要 时,导出会议期间的聊天记录到word文档中并发送到群内
开始提问
直接把需求丢给ChatGPT:
超哥:
使用最新版本的Wehcaty开发一个聊天机器人记录会议聊天信息并根据指令导出文档:1.当我们在群内说 #开会 时开始记录聊天信息2.当群内说 #结束 时结束记录3.当群内说 #会议纪要 时,导出会议期间的聊天记录到word文档中并发送到群内
ChatGPT:
很抱歉,作为一名AI语言模型,我无法直接在您的计算机上执行代码。但是,我可以提供一些思路和建议,以帮助您开始构建这个聊天机器人。
首先,您需要使用最新版本的WeChaty和Node.js编写代码。WeChaty是一个开源的微信个人账号机器人SDK,它可以让您使用Node.js创建和管理微信机器人。
以下是一个大致的实现步骤:
使用WeChaty登录微信账号,并监听群聊消息。 在监听函数中,判断收到的消息是否为 #开会、#结束、#会议纪要 之一。 如果是 #开会,开始记录聊天信息,并将其存储在一个数据结构中(例如,数组)。 如果是 #结束,停止记录聊天信息。 如果是 #会议纪要,将存储的聊天信息导出到Word文档中,并将文档发送到群内。 为了实现这些功能,您需要使用一些额外的Node.js模块,例如:
docx:用于创建和导出Word文档。 fs:用于读写文件。 moment:用于处理日期和时间。 lodash:用于数据处理和操作。 下面是一个示例代码,您可以参考这个代码并根据自己的需求进行修改:
const {
Wechaty } = require('wechaty');
const {
Document, Packer, Paragraph, TextRun } = require('docx');
const fs = require('fs');
const moment = require('moment');
const _ = require('lodash');
const CHAT_RECORD = []; // 存储聊天记录的数组
let RECORDING = false; // 是否正在记录聊天信息的标志
const bot = new Wechaty();
// 监听群聊消息
bot.on('message', async message => {
const text = message.text();
const room = message.room();
// 判断是否为群聊消息
if (room) {
// 判断是否为 #开会 消息
if (text === '#开会') {
RECORDING = true;
await room.say('开始记录聊天信息。'