最近,微信Web版阻止了非腾讯出品的第三方网页使用其API,从而阻止了大多数编程语言中使用微信Web版的可能性。在这种情况下,开发人员需要一个新的解决方案来使用微信API,而webwx-api是其中之一。webwx-api是一个npm包,它允许我们在前端使用微信API。
webwx-api简介
webwx-api是一个基于node.js的npm包,主要用于在前端使用微信API。它提供了许多微信API的功能,包括登录、发送消息、接收消息、创建群组等等。这个库基于puppeteer实现,并重用了web版微信的JavaScript。因此,它本质上是一个运行在服务器上的headless WebKit浏览器实例。
webwx-api安装
使用npm安装webwx-api:
npm install webwx-api
版本选择
webwx-api 目前的最新版本是v1.6.1,但是由于微信Web版的频繁更新,可能导致在使用时发生错误。因此,如果在使用webwx-api时出现问题,请尝试降低版本。
webwx-api使用步骤
登录
首先,我们需要打开一个头less浏览器的实例,调用webwx-api:
const wx = require('webwx-api'); wx.init({headless: false}).then(async (loginInfo) => { console.log(loginInfo); });
此时你会看到一个headless浏览器实例正在打开。如果你没有全屏状态,你可以看到浏览器实例的操作。
当你开始调用 init()
方法时,webwx-api将打开一个浏览器实例。如果init()
方法的headless
子句为 false
,则会显示浏览器交互实例。否则,将开启一个headless浏览器实例。
该方法返回一个Promise对象,成功后将返回一个对象,其中包含登录信息,如下所示:
-- -------------------- ---- ------- - ----- --------------- ----- ------- ------ --------- ------ --------- ------------ -------- --------- -------- ------------ - -
在webwx-api中,当我们需要获取登录信息时,只需调用init()
方法即可。这个方法返回一个带有用户名、密码等信息的对象。现在,我们已经登录到了微信。
发送消息
在webwx-api中,要发送一条消息,我们需要先获取到联系人的信息。我们可以通过 getContact()
方法获得朋友列表,然后选择一个联系人发送消息。
wx.getContact().then(async (contactList) => { const target = contactList.find(c => c.NickName == "Jinn"); await wx.sendMsg('Hello world!', target.UserName); });
接收消息
接下来我们使用 await wx.onMsg()
方法来轮询和接收微信消息。一旦您的账户收到了新消息,该函数将返回一个包含消息文本、联系人、消息类型等信息的对象。因此,这个函数返回的对象包含以下属性:
-- -------------------- ---- ------- - --- -------------------- ----- -- -------- ----- ------- --------- ----- -------- --- ----------- ----- ----------- ------- ----- ------- - -
在webwx-api中,我们需要循环调用此函数以接收新消息。下面是一个循环接收消息的示例代码:
while (true) { const message = await wx.onMsg(); console.log(message); await sleep(1000); }
创建微信群
最后,我们可以使用wx.createRoom()
来创建微信群。此函数接受一个 usernameList
参数,其中包含我们要加入的朋友的列表。
wx.createRoom([user1, user2, user3], 'My test room').then(async (res) => { console.log(res); });
在此函数调用成功后,您将收到一个名称为'My test room' 的新微信群。
结论
webwx-api是一个优秀的npm包,允许我们在前端使用微信API,为我们提供了强大的微信机器人创建功能。本文介绍了webwx-api的基本用法,包括登录、发送消息、接收消息和创建微信群等操作。在实际应用中,我们可以使用这些功能来构建自己的微信应用程序或机器人,实现与微信的自动化交流。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055db881e8991b448db754