简介
vk-api-for-bot 是一个专门针对 VK 平台开发机器人的 Node.js 包,它提供了一组易用且丰富的 API 用于与 VK 的 API 进行交互。
VK 平台是俄罗斯最大的社交媒体平台,并且在欧洲和亚洲也非常流行。使用 vk-api-for-bot 包,你可以轻松地开发基于 VK 的机器人应用。
安装
使用 npm 安装 vk-api-for-bot:
npm install vk-api-for-bot --save
快速开始
下面是一个基本的 vk-api-for-bot 示例,在 VK 上创建一个简单的 "Hello World" 机器人:
-- -------------------- ---- ------- ----- ----- - -------------------------- ----- -- - --- ------- ------ ----- -------- -------- -------- --- ------------------------- ----- -- - -- ----------- --- -------- - ------------------ -------- -------------- -------- -------- --- - --- --------------------------- -- - --------------------- ---------- ------------------------
在上面的示例代码中,首先我们引入包,并使用 bot token 和 VK API 版本初始化 VKApi 对象。然后我们监听来自 VK 的消息事件,如果收到的消息为 "Hello",则回复消息 "World"。最后使用 longpoll.start 方法启动长轮询。
以上示例只是 vk-api-for-bot 中的一部分功能,它还提供了多种方便的方法,可以让你的机器人应用更加丰富和实用。
深入了解
VKApi
VKApi 类是 vk-api-for-bot 的核心,它提供了与 VK API 进行交互的所有方法。VKApi 构造函数接收一个 options 对象作为参数:
const vk = new VKApi({ token: '[Bot Token]', // VK 机器人的 token version: '5.130', // VK API 版本 });
VKApi.longpoll
longpoll 是一个对象,它提供了多种监听 VK 消息事件的 API。
VKApi.longpoll.on
VKApi.longpoll.on(event, listener) 方法用于注册 VK 消息事件的监听器,支持的事件有:
- message_new 新消息
- message_reply 回复消息
- message_edit 编辑消息
- message_allow 允许发送消息
- message_deny 拒绝发送消息
- message_typing 正在输入
- message_event 相关事件
- message_confirm 确认消息
- photo_new 新照片
- audio_new 新音频
- video_new 新视频
- wall_post_new 新的墙上帖子
- wall_reply_new 新的墙上评论
- board_post_new 新的列表中的帖子
- board_post_edit 编辑列表中的帖子
- board_post_restore 恢复列表中的帖子
- board_post_delete 删除列表中的帖子
- photo_comment_new 新的照片评论
- photo_comment_edit 编辑照片评论
- photo_comment_restore 恢复照片评论
- photo_comment_delete 删除照片评论
- audio_comment_new 新音频评论
- audio_comment_edit 编辑音频评论
- audio_comment_restore 恢复音频评论
- audio_comment_delete 删除音频评论
- video_comment_new 新视频评论
- video_comment_edit 编辑视频评论
- video_comment_restore 恢复视频评论
- video_comment_delete 删除视频评论
- wall_comment_new 新墙上评论
- wall_comment_edit 编辑墙上评论
- wall_comment_restore 恢复墙上评论
- wall_comment_delete 删除墙上评论
- board_comment_new 新的列表评论
- board_comment_edit 编辑列表评论
- board_comment_restore 恢复列表的评论
- board_comment_delete 删除列表评论
- market_comment_new 新市场评论
- market_comment_edit 编辑市场评论
- market_comment_restore 恢复市场评论
- market_comment_delete 删除市场评论
- poll_vote_new 新的投票
vk.longpoll.on('message_new', event => { console.log(event); });
VKApi.longpoll.start
VKApi.longpoll.start() 方法用于启动长轮询连接,该方法返回一个 Promise,连接成功后 Promise 才会 resolve。
vk.longpoll.start().then(() => { console.log('Longpoll started'); }).catch(console.error);
API 方法
vk-api-for-bot 还提供了一些 VK Web API 方法,可以用来与 VK API 进行交互,这些方法需要机器人应用获取到相应的 token 和 webhook 地址。
API 方法示例代码:
-- -------------------- ---- ------- ----- ----- - -------------------------- ----- -- - --- ------- ------ ----- -------- -------- -------- --- ------------------------ - --------- - ---------------- -- - ---------------------- ------------------------ ------------------------ - -------- -- -------- ------ -------- ---------------- -- - ---------------------- ------------------------
在上面的代码中,使用了 vk.api.call 方法和 vk.api 方法来分别调用 VK API 的 users.get 和 messages.send 方法。
总结
vk-api-for-bot 提供了易用和丰富的 API,可以快速地开发出基于 VK 平台的机器人应用。本文介绍了 vk-api-for-bot 的使用方法和 API 等相关内容,希望能对你有所帮助。
完整示例代码:
-- -------------------- ---- ------- ----- ----- - -------------------------- ----- -- - --- ------- ------ ----- -------- -------- -------- --- ------------------------- ----- -- - -- ----------- --- -------- - ------------------ -------- -------------- -------- -------- --- - --- --------------------------- -- - --------------------- ---------- ------------------------ ------------------------ - --------- - ---------------- -- - ---------------------- ------------------------ ------------------------ - -------- -- -------- ------ -------- ---------------- -- - ---------------------- ------------------------
参考链接:
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d2081e8991b448dad03