跳至主要內容

bot

2023年7月24日大约 3 分钟编程教程成果

bot

我曾使用 nonebot2 + cqhttp 的方式搭建 bot。这种方案使用 python 语言,并且需要自己写比较底层的代码。在此感谢 yaowan233 学长的指导。

而现在我选择 koishi 框架。该框架基于 node.js,具有图形化的操作界面和高度预设,可以接入多个平台,也有成熟的 npm 包管理。文档虽说不算优秀,但至少比曾经的 nonebot2 强数倍。同时也有论坛以供交流。但是代价就是 node.js 的高运行时内存占用了。(常态 600M)

comp: 这两个平台都通过 Adapter 适配不同的平台,比较泛用;都有数据库的抽象层,比较易用;2023 开源之夏 nonebot2 也新增了图形界面。我感觉还是看写 python 还是写 ts 舒服来选平台比较合适。

我建的 bot 有两个实例:一个是之前一直在用的 QQ bot atri(2433269451),另一个是后来使用 koishi 的 Telegram bot atri bot

查看 atri(QQ) 的信息
atri
atri

她的功能:

  • 背单词(英日双语)
  • 随机数
  • 带饭记账
  • 偷窥我

请加为好友(联系绝对值_x 同意好友)后发送help获取详细指令。你也可以在这里得到她的实现上述功能的 python 源码。关于环境:

  1. 使用 conda创建出所需环境(此处环境名为atri):conda create -n atri python=3.9

    nonebot2 需要在 python>=3.8 环境下运行

  2. 使用 pip 安装依赖:
    pip install nb-cli
    pip install nonebot-adapter-onebot
  3. 参考随笔中的启动脚本

koishi

install

这里推荐使用 pnpm/npm 安装,而不是官方推荐的下载安装包。使用 pnpm/npm 安装对 bot 功能没有影响,而且方便开发。

pnpm
pnpm i -g create-koishi@latest
pnpm create koishi  # 选择是否 install and start 的时候选择 否
pnpm i --shamefully-hoist   # 需要添加此后缀
pnpm dev

关于 pnpm 安装后缀,详见 nodejs

使用

开发

我写了一个小玩具(koishi-plugin-peek),大致涵盖了基本的开发指令。推荐在 github 上搜索其他源码广泛学习。