我是靠谱客的博主 香蕉小蝴蝶,最近开发中收集的这篇文章主要介绍快速搭建 QQ 聊天机器人--聊天机器人框架安装及搭建教程使用到的工具前期准备开始使用代码解析相关链接,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用到的工具

  • Deno:现代的 JavaScript 和 TypeScript 运行时。

  • Yoeth:一个轻巧、易用的 Deno 聊天机器人框架,支持 OneBot 12标准。

  • Walle-Q:一个 QQ 平台的 OneBot 协议实现端。

前期准备

安装 Deno(使用 PowerShell):

iwr https://deno.land/install.ps1 -useb | iex

下载 Yoeth 示例:

https://github.com/yoeth/yoeth_example

下载 Walle-Q:

https://github.com/abrahum/walle-q/releases

开始使用

运行 Walle-Q,按照提示进行登录。

运行 Yoeth 示例:

cd yoeth_example
deno task start

不出意料的话,机器人已经跑起来了。让我们发个消息试试吧。

代码解析

让我们来逐个解析示例内的几个文件。

打开 yoeth_example/yoeth.yml ,你会发现以下内容:

version: 0.1.4 # Yoeth 版本
bots:
  - self_id: ~ # 机器人的账号(默认为空,为空时部分功能可能无法正常使用)
    protocol: # 通信协议配置
      websocket: # 正向 WebSocket 配置(应用端访问 OneBot 标准实现端)
        - url: ws://127.0.0.1:9966 # 连接地址
          access_token: ~ # 访问令牌(可选,默认为空)
          reconnect_interval: 4 # 重连间隔,单位秒
          disable: true # 此处为 true 时禁用
      websocket_rev: # 反向 WebsScket 配置(OneBot 标准实现端访问应用端)
        - host: 127.0.0.1 # 监听 IP
          port: 8844 # 监听端口
          access_token: ~
          disable: false
      http: # HTTP 配置(应用端访问 OneBot 标准实现端)
        - url: http://127.0.0.1:9100/
          access_token: ~
          disable: true
    disable: false # 此处为 true 时禁用
plugins:
  - path: ./plugin/ping.js # 插件地址(支持网络地址)
    disable: false # 此处为 true 时禁用
    config: ~ # 自定义选项(默认为空)
  - path: ./plugin/log.js
    disable: false
    config: ~
  - path: ./plugin/ping2.js
    disable: false
    config: ~

打开 yoeth_example/plugin/ping.js ,你会发现以下内容:

export const type = 'message';
export const name = 'ping';

export function apply({ session, config, segment }) {
  // 如果收到“天王盖地虎”,就回应“宝塔镇河妖”
  if (session.content === "天王盖地虎") {
    session.send("宝塔镇河妖");
  }
}

打开 yoeth_example/plugin/log.js ,你会发现以下内容:

export const type = 'notice';
export const name = 'log';

export function apply({ session, config, segment }) {
    console.log(session)
}

打开 yoeth_example/plugin/ping2.js ,你会发现以下内容:

export const name = 'ping2'
export const type = 'ctx'

export function apply({context, config, segment}) {
    context.middleware(async (session, next) => {
        if (session.content === '水能载舟') {
            // 如果收到“水能载舟”,就回应“亦能覆舟”
            // 我们可以直接发送纯文本
            return '亦能覆舟'
        } else if (session.content === '114') {
            // 也可以发送消息段
            let s = segment;
            return s(s.text({ text: "5" }), s.space(), s.text({ text: "4" }))
        } else {
            return next()
        }
    })
}

相关链接

Yoeth 文档:

https://github.com/yoeth/yoeth_docs

Yoeth:

https://github.com/yoeth/yoeth

最后

以上就是香蕉小蝴蝶为你收集整理的快速搭建 QQ 聊天机器人--聊天机器人框架安装及搭建教程使用到的工具前期准备开始使用代码解析相关链接的全部内容,希望文章能够帮你解决快速搭建 QQ 聊天机器人--聊天机器人框架安装及搭建教程使用到的工具前期准备开始使用代码解析相关链接所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部