开发一个跨平台的小 bot

2,233 阅读2分钟

效果

多平台支持

qq、discord、kaiheila、telegram

  • qq

image.png

  • discord image.png

image.png

  • ...

如何开发以及使用插件

  • 官方教程

    • 优点

      • 使用简单,易于上手

      • 官方 cli 集成了 umd 热加载

    • 缺点

      • 开发普适化大家都能使用的插件略微麻烦

      • 对于 qq 需要手动去 cq-http releases 下载各个平台的 cqhttp 运行版本

      • 如果使用 ts 工具开发插件需要反复给插件配置环境

  • 使用 koishi-plugin-developer

    • 优点

      • 集成 cq-http ,不需要手动去官网下载,减少使用成本

      • 配置好了 cqhttp 的相关配置,配合脚本便可一键启动

      • 安全,代码仓库里面不会有任何你机器人的隐私信息

      • 使用 monorepo 管理项目,多个插件一个编译配置,减轻开发成本

      • cli:go-cqhttp 启动,集成了插件模板创建,插件编译

      • 使用 ts 作为开发语言,对项目的掌控更强,也更易于维护

      • 插件开发更加简单,多个开发模板:普通开发模板、带 restfulapi 开发模板、带 gui 开发模板

      • 默认集成了 插件管理 插件,让你的机器人插件管理更加简单

    • 缺点

      • 不够完善,还有很多新功能待完善 咕咕咕

      • 使用 ts 作为开发语言,免不了类型体操

      • 使用 monorepo 开发,对技术要求比较高(实际不麻烦,挺简单的

      • 可能会有一点点小 bug(毕竟新开项目

如何使用 koishi-plugin-developer(毕竟自己的

使用起来十分简单

以开发 qq 机器人为例

  • 首先去 qq 官网 注册一个小号

  • 记住自己的账号与密码

  • 使用魔法工具前往 gayhub clone project

    (PS:或者你可以使用不需要魔法的fastgit

image.png

  • 解压文件到指定文件夹,选择一款你喜爱的 ide 打开(这里图方便选择 vscode 打开,当然我更推荐 ws

image.png

  • 运行 yarn go-cqhttp:${你的环境}(启动你的 go-cqhttp 服务器:用于转发 qq bot 请求)

    (PS:如果没有 yarn,请安装。因为该项目 monorepo 基于 yarn workspace 开发

  • 运行后按照控制台指示完成相关操作

    (PS:可能需要扫码,手机登陆扫码即可。建议直接选择扫码登陆,不输入 qq bot 密码,简单

  • 运行 yarn start:dev (启动开发服务器,开发服务器使用 nodemon 进行热载:控制台输入 rs 热载

  • 历史性对话,给你的机器人发送 help

image.png

  • 搜索安装插件

    • 搜索本地插件 kpm.l.l

    image.png

    • 全局安装 demo 插件 kpm.i -g demo

    image.png

    • 给机器人发送 "hello bot"

    image.png

下篇文章

  • koishi-plugin 的开发、构建与发布

交流群

discord