公共的插件数据收集分析平台

注意细节的朋友可能注意到了,我主要维护的两大插件: cs-lookupmc-server-status 最近添加了一个 匿名数据收集 的功能:

此功能由我基于开源平台 umami 搭建,数据收集与发送的代码由不愿意透露姓名的大佬 173gvQY8MFaDk9Jt 编写。

整个平台的功能包括:

  • 收集用户触发时的指令和参数
  • 收集用户触发时的环境 (koishi 版本, 插件版本, koishi 运行的系统的版本)
  • 收集用户的地理位置 (精确到城市)
    类似这样:

    (网页就是指令,来源域名和浏览器可以无视)

为了让广大 口一洗 开发者们不需要自行搭建类似的服务,本平台将免费开放给大家使用,如何使用呢,很简单,首先,邮箱联系 itzdrli@proton.me 或者直接QQ找我 申请注册一个账号 (提供你想要的用户名和你的github/npmjs用户名即可,会为你随机生成一个新密码), 然后进入 https://data.itzdrli.cc/ 登陆,然后前往设置


点击右上角添加网站,然后名字为你的插件的名字 (如 cs-lookup),网址随意 (后续用不着)

创建完成后,点击对应的 编辑 按钮

然后复制 网站 ID

安装服务依赖

进入你的插件文件夹, 键入

yarn add -D koishi-plugin-umami-statistics-service

然后打开你的 index.ts (或者任意 main 文件)

引入依赖:

import { } from 'koishi-plugin-umami-statistics-service';
export const inject = ['umamiStatisticsService'];

设置参数:

export const umami: [string, string] = [web-id, "https://data.itzdrli.cc"]; // web-id 替换为在前面注册的 `网站 ID`

并在需要进行数据收集的地方 (比如触发指令时) 加上这个一行(几行):

ctx.umamiStatisticsService.send({
  ctx,
  url: '/getid', // -> 换成你的指令或者事件啥的
  urlSearchParams: {
    args: session.argv.args?.join(', '),
    ...(session.argv.options || {}),
  }
});

就像这样:

然后就可以用辣

这样,当用户触发你的条件后,其相关信息就会被记录并发送至 data.itzdrli.cc ,然后你可以登陆你的账号进行查看并分析你的用户辣

隐私政策

3 个赞

好好好好好

3 个赞

我怕我用了之后陷入深深的自卑

3 个赞

不会,小游戏插件的用户活跃度还是很高的

2 个赞

有没有考虑继续深入一点,比如做一个错误日志的收集?

2 个赞

可以把这里的 url 换成 error 之类的,下面的 args 可以换成 error_log 之类的,然后把错误日志发上去进行收集了

就像这样:

Umami.send({
  ctx,
  url: '/error',
  urlSearchParams: {
    error_log: error // 原本要 logger.error 输出的内容
  }
});
2 个赞

我知道了,就是需要手动调用么()还以为和其他日志收集框架一样快速集成的

2 个赞

是这样的,所以快来用啊()

2 个赞

建议写一个 umami 服务插件

2 个赞

试过,太菜,写不出来,帮我.jpg

2 个赞

2025.1.4

还活着

4 个赞