跳转到内容

LNNBot

此后如竟没有炬火,我便是唯一的光。
DGCK81LNN留言 | 贡献2025年10月18日 (六) 00:40的版本 WhatCommands 指令

LNNBotDGCK81LNN 维护的 QQ 机器人,也在 Discord 可用,基于 Koishi.js 框架,安装了很多发布在 Koishi.js 插件市场的功能插件,也有很多原创功能。

架构

Koishi.js 是一个可扩展的机器人框架,它允许各种插件各自提供自己的功能。LNNBot 的各种功能根据来源可以分为:

  • 插件市场插件,即从 Koishi.js 插件市场安装的插件,由不同的 Koishi.js 插件开发者编写并发布在 npm,通常用 TypeScript 编写;
  • miniplug 插件,即借助 DGCK81LNN 制作的 miniplug 插件,由维护者在机器人控制台直接使用 JavaScript 编写的插件,省去了将 TypeScript 插件源代码编译为 JavaScript 并重启 bot 的过程,并且可以随时修改插件代码并进行热重载;
  • 微指令,即通过 DGCK81LNN 制作的 microcommands 插件,由维护者在聊天中通过指令输入 JavaScript 代码定义的指令,代码保存在机器人数据库;
  • WhatCommands 指令,即通过最初由预防开发的 WhatLang 语言解释器,由用户自定义的一类类似于指令的功能。

(以上四个类别之间实际上存在从属关系,miniplug 本身是一个插件市场插件,microcommands 本身是一个 miniplug 插件〔也在插件市场发布〕,WhatCommands 指令依赖于插件市场插件 whatlang。)

DGCK81LNN 编写的插件市场插件会开源在 GitHub;而 LNNBot 所用的 miniplug 插件和微指令的源代码则会不定期同步到 Gitee 仓库 DGCK81LNN/lnnbot-miniplugs。另外,用户可以通过 /microcommand show 微指令名称¿¿¿ cmdget WhatCommands指令名称 查询 LNNBot 的任何微指令或 WhatCommands 指令的源代码。

功能

指令

主条目:LNNBot/指令

指令是 LNNBot 功能中重要的一类,它们有一种共通的调用语法,也可以被其他功能调用。

WhatCommands 指令

主条目:LNNBot/WhatCommands指令

WhatCommands 指令可由用户通过 WhatLang 语言编写后供自己和他人使用,它们本身不是 Koishi.js 指令系统内的指令。其简易性进一步超越需要机器人维护者审核 JavaScript 代码的微指令,任何掌握 WhatLang 的用户都可以在语言提供的能力范围内为 LNNBot 添加新功能。

用户系统

点数系统