Skip to content

HuHoBot 自定义LSE附属插件

您可以按如下代码创建一个插件,编写一个HuHoBot拓展模块,并使用HuHoBot的API注册回调函数

const HUHONAMESPACE = 'HuHo_Bot' //勿动
const NAMESPACE = 'Test' //修改成你自己想要的Namespace

/**
 * 回调函数
 * @param {array} keyWord
 */

function Callback(params){ 
    return "测试成功" //可以返回一个文本消息到群内
    return JSON.stringify({
        "text": `测试成功`,
        "imgUrl":qlogoUrl}
    ) //可以返回一个带图片的文本消息到群内(不发图请留空)
}

/**
 * 注册回调函数
 * @param {string} keyWord
 * @param {function} func
 */

function regCallbackEvent(type,keyWord,func){
    if(!ll.hasExported(HUHONAMESPACE,'regEvent')){
        return;
    }
    let regEvent = ll.imports(HUHONAMESPACE,'regEvent')
    ll.exports(func,NAMESPACE,func.name)
    regEvent(type,keyWord,NAMESPACE,func.name)
}

mc.listen("onServerStarted",()=>{
    let keyWord = "测试" //触发关键词
    regCallbackEvent("run",keyWord,Callback)
})

附录:事件数据结构说明

BotCustomCommand 事件中,event.data 包含以下 JSON 数据结构:

{
  "key": "关键字",
  "runParams": [
    "参数1",
    "参数2"
  ],
  "author": {
    "qlogoUrl": "用户头像URL",
    "bindNick": "绑定昵称",
    "openId": "用户OpenID"
  },
  "group": {
    "openId": "群组OpenID"
  }
}
  • key: 触发命令的关键词。
  • runParams: 命令执行时传递的参数列表。
  • author: 发送命令的用户信息。
    • qlogoUrl: 用户头像 URL。
    • bindNick: 用户绑定的昵称。
    • openId: 用户的 OpenID。
  • group: 群组信息。
    • openId: 群组的 OpenID。

附录:返回自定义响应

如果需要返回复杂的 JSON 结构,返回一个格式化后的Json字符串

return JSON.stringify({
    "text": `测试成功`,
    "imgUrl":qlogoUrl
});

responseJson示例:

{
  "text": "这是返回的文本消息",
  //可留空
  "imgUrl": "https://example.com/image.jpg"
  //可留空
}

致谢

希望这份文档能帮助你更好地理解和开发 HuHoBot附属插件