使用到的工具

  • 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 # 监听 IPport: 8844 # 监听端口access_token: ~disable: falsehttp: # HTTP 配置(应用端访问 OneBot 标准实现端)- url: http://127.0.0.1:9100/access_token: ~disable: truedisable: false # 此处为 true 时禁用
plugins:- path: ./plugin/ping.js # 插件地址(支持网络地址)disable: false # 此处为 true 时禁用config: ~ # 自定义选项(默认为空)- path: ./plugin/log.jsdisable: falseconfig: ~- path: ./plugin/ping2.jsdisable: falseconfig: ~

打开 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 聊天机器人--聊天机器人框架安装及搭建教程相关推荐

  1. php phalcon 安装,Phalcon框架安装与使用教程介绍

    Phalcon是一款php中国外非常的流程的框架了,但在国内Phalcon框架还不怎么样了,小编今天来为各位介绍Phalcon框架安装与使用教程,希望下文可以帮助到各位. linux服务器安装phal ...

  2. GitHub聊天通信开源UI框架stfalcon-studio/ChatKit使用教程

    项目地址 官网地址:https://github.com/stfalcon-studio/ChatKit 官方有比较详细的说明,不过时英文的. 本篇源码: Gitee:https://gitee.co ...

  3. 使用NoneBot2可视化平台搭建QQ聊天机器人:本地和云部署教程

    NoneBot是一个基于Python 3.8+的异步.开源和可扩展的框架,用于构建和运行聊天机器人,支持各种聊天平台,如Telegram,Discord和WeChat.它是基于nonebot库构建的, ...

  4. 用Python制作QQ机器人聊天插件(1)

    目录 制作插件 1.找到插件文件夹 搭建好我们的机器人环境后,打开放置机器人的文件夹,找到 src文件夹 打开后找到 2.填写代码 运行效果 上期博文介绍了QQ机器人框架搭建,这期介绍QQ机器人聊天插 ...

  5. pythonQQ机器人系列:使用requests实现QQ机器人聊天(1-0)

    系列文章目录 基础:requests的基本使用:QQ机器人基础  传送门 pythonQQ机器人系列:使用requests实现QQ机器人聊天(0-2) 传送门 pythonQQ机器人系列:使用requ ...

  6. 第一章:基于 SpringBoot 快速搭建QQ机器人,并监听群事件

    第一章:基于 SpringBoot 快速搭建QQ机器人 前言:知识与储备 这个QQ机器人能干什么? 第一步:搭建Maven项目环境 第二步:编写pom文件 第三步:编写启动类 第四步:创建配置文件 第 ...

  7. 【Tensorflow+自然语言处理+LSTM】搭建智能聊天客服机器人实战(附源码、数据集和演示 超详细)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一.自然语言处理与智能 自然语言处理技术是智能客服应用的基础,在自然语言处理过程中,首先需要进行分词处理,这个过程通常基于统计学理论,分词的精细化 ...

  8. pythonQQ机器人系列(基于go-cqhttp):使用requests和socket实现QQ机器人聊天(2-0)

    系列文章目录 基础:requests的基本使用:QQ机器人基础  传送门 pythonQQ机器人系列:使用requests实现QQ机器人聊天(0-2) 传送门 pythonQQ机器人系列:使用requ ...

  9. 机器人python编程_python快速的制作一个机器人聊天示例

    1 首先我们打开我们的python编辑器,这里我们用到的是pycharm,我们点击右键,选择新建选项.在我们的项目文件中创建一个新项目. 2 在新创建的项目文件中,打开python编程界面,输入图中所 ...

  10. 用Nonebot2搭建QQ机器人(一):我的学习经历(一)

    1.NoneBot2的概述: NoneBot2 是一个现代.跨平台.可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持.然后剩下的 ...

最新文章

  1. leetcode算法题--回文数
  2. 【数理知识】《数值分析》李庆扬老师-目录
  3. ensp启动设备蓝屏_为什么早期的Windows经常死机蓝屏,现在却很少发生?这些你都知道吗?...
  4. [MATLAB调试笔记]时变循环诊断——[Vx(x)],[Vx(t),Vy(t),Vz(t)],[Ex(x)],[波];[Eng(t)],[Ex(k)],[Ex(x,t)],[logEx(x.t)]
  5. GNU C 中的零长数组
  6. C/C++内存分配方式 .
  7. 计算机网络 鲁士文,《在职研究生计算机网络课程统考复习指南》鲁士文 编_孔网...
  8. 函数sigqueue
  9. 0xff00是65208
  10. Thread.join的作用和原理
  11. Web Service 移除 xmlns
  12. wamp xampp mysql端口冲突,xampp安装后apache 80端口被占用的解决方法
  13. C#集合练习题(链表LinkedListT)
  14. android随机生成字符串,Android随机字符串生成器
  15. 编译原理 实验一 词法分析器
  16. 小程序设置page背景图片透明度
  17. GPS卫星双轨参数(TLE)
  18. cad文字递增快捷键_CAD文字/表格递增复制怎么用,快捷键是什么?
  19. 2021年边缘计算融资汇总
  20. 机器学习-胯下运球之Naive Bayes<朴素贝叶斯法>

热门文章

  1. mysql开启远程登录
  2. css在线代码生成工具汇总
  3. 极域课堂忘记密码,解决方法,万能密码
  4. 关于阿狸狗破戒大师自动安装完cadence17.4后licence不可用问题
  5. QToolButton图标大小设置
  6. 百度C语言面试题2017,百度C语言面试题
  7. linux win10 mac地址修改,两种方法教你修改Win10专业版MAC物理地址
  8. 计算机指数函数符号,数学公式及符号大全
  9. Ubuntu临时修改ip地址
  10. 华为云私有云解决方案的年终答卷