• 欢迎来到小可 · Wiki,人人可编辑的,多平台聊天机器人“小可”的官方文档资源。
  • 小可很可爱,请给我们打钱
  • 原 MkDocs 已迁入本站。若发现 404 属正常现象,请点击左上角搜索您想要的模块。

wikilog

来自小可 · Wiki,人人可编辑的,QQ机器人“小可”的官方文档资源

此模块可以用于监控基于 MediaWiki 的网站的指定日志的信息,当机器人检测到日志存在变动时将会自动推送消息至该群。

wikilog add wiki

用法:~wikilog add wiki <Wiki 域名/脚本路径>

此命令可以添加一个 Wiki 到该对话环境下的监控列表中。

尽管链接可以直接填写 Wiki 的 URL,但机器人的自动检测可能会出错。

脚本路径
“脚本路径”指的是 Wiki 的 index.phpapi.php 所在的目录。
  • 在 WMF 所属的网站(维基百科、维基词典等)和 Miraheze 农场,此目录在 <域名>/w/
  • 在 Fandom 农场的英文 Wiki 上,此目录在 <域名>
  • 在 Fandom 农场的其他语言 Wiki 上,此目录在 <域名>/<语言代码>/

如果你的 Wiki 是自行搭建的,或你的农场没有在此列出,下面是获取脚本路径的方法。

  1. 在搜索框内输入:Special:Version
  2. 打开页面后,向下滑并找到第二个表格。对于中文 Wiki 来说,此表格的名称为“接入点URL”。
  3. 找到此表格的第二行(对于中文 Wiki 来说,这一行的表头为“脚本路径”)第二列(对于中文 Wiki 来说,这一列的表头为“URL”)内容。右键此字符并复制链接,即为此 Wiki 的脚本路径。

wikilog reset wiki

用法:~wikilog add wiki <Wiki 域名/脚本路径>

此命令可以重置一个已添加至对话环境的 Wiki 的所有设置数据。

wikilog remove wiki

用法:~wikilog remove wiki <Wiki 域名/脚本路径>

此命令可以移除一个已添加到该对话环境的 Wiki 数据。

wikilog enable

用法:~wikilog enable <Wiki 域名/脚本路径> <日志类型>

此命令可以为该对话环境添加的 Wiki 打开某一种类型的日志监控。

在打开日志监控之前,你需要先添加 Wiki 到该对话环境下的监控列表中。

当前支持的日志类型如下:

AbuseLogRecentChanges

wikilog disable

用法:~wikilog disable <Wiki 域名/脚本路径> <日志类型>

此命令可以为该对话环境添加的 Wiki 关闭某一种类型的日志监控。

当前支持的日志类型如下:

AbuseLogRecentChanges


wikilog filter set

用法:~wikilog filter set <Wiki 域名/脚本路径> <日志类型> <条件过滤器表达式列表>

此命令用于设置某一位于该对话环境下的监控列表的 Wiki 的某一类型的日志的条件过滤器表达式,设置条件过滤器可以让机器人筛选应该被推送出来的日志。

由于在聊天环境中,交互式地调整过滤器列表会十分困难,所以此设定方式仅支持 一次性地 设置过滤器列表(重复设置将会覆盖先前已设置的过滤器列表)。

已设置的过滤器列表可以通过 ~wikilog list 命令查看(你可以随时复制给出的文本并增减你需要的过滤器,然后发送命令以一次性设置)

正则表达式的解析由 Python 内置的 re 软件包提供,尽管其提供了 Perl 风格类似的正则表达式语法,你可能仍需要查阅官方文档以编写正确的表达式。

命令支持设置多个过滤器,以空格进行分隔。若正则表达式中存在空格,请使用半角双引号 "" 对命令中的正则表达式参数进行包裹,以防机器人对命令的解析失败,若表达式中存在双引号,请善用反斜杠 \ 进行例外排除。

在表达式加入条件过滤器之前,非常有必要对其进行匹配测试(使用 ~wikilog filter test 命令),以防止匹配出现问题而无法正常推送内容。

当新的日志信息匹配过滤器中的其中一种表达式时,机器人将会将其推送出来,反之则不会推送。

wikilog filter reset

用法:~wikilog filter reset <Wiki 域名/脚本路径> <日志类型>

此命令用于重置某一位于该对话环境下的监控列表的 Wiki 的某一类型的日志的条件过滤器表达式。

wikilog filter test

用法:~wikilog filter test <正则表达式> <样本>

此命令可以用于测试给出的正则表达式是否能够正确匹配样本,在该表达式加入条件过滤器之前,非常有必要对其进行匹配测试,以防止匹配出现问题而无法正常推送内容。

正则表达式的解析由 Python 内置的 re 软件包提供,尽管其提供了 Perl 风格类似的正则表达式语法,你可能仍需要查阅官方文档以编写正确的表达式。

若正则表达式中存在空格,请使用半角双引号 "" 对命令中的正则表达式参数进行包裹,以防机器人对命令的解析失败。

样本可以通过 wikilog filter example 命令生成。

wikilog filter example

用法:~wikilog filter example <样本>

此命令可以用于生成条件过滤器匹配时使用的样本,在表达式加入条件过滤器之前,非常有必要对其进行匹配测试。

样本的获取:

使用 ~wikilog api get <Wiki 域名/脚本路径> <日志类型> 命令获取对应日志的 API 链接,复制类似图中的样本(请注意不要复制结尾的逗号)。

然后直接粘贴进命令尾部发送(无需担心换行等问题),若成功解析,则机器人将输出格式化后的样本。

wikilog rcshow set

用法:~wikilog rcshow set <Wiki 域名/脚本路径> <筛选条件列表>

此命令用于设置某一位于该对话环境下的监控列表的 Wiki 的最近更改日志的筛选条件,设置筛选条件可以让机器人筛选应该被推送出来的日志,此条件等价于Special:最近更改顶部的筛选条件栏。

由于在聊天环境中,交互式地调整筛选条件列表会十分困难,所以此设定方式仅支持 一次性地 设置筛选条件列表(重复设置将会覆盖先前已设置的筛选条件列表)。

已设置的筛选条件列表可以通过 ~wikilog list 命令查看(你可以随时复制给出的文本并增减你需要的过滤器,然后发送命令以一次性设置)

可以使用的值为:!anon、​!autopatrolled、​!bot、​!minor​!patrolled!redirect、​anon、​autopatrolled、​bot​minorpatrolled​redirect​unpatrolled

! 代表的是反选的意思。

默认值为:​!bot

wikilog rcshow reset

用法:~wikilog rcshow reset <Wiki 域名/脚本路径>

此命令用于重置某一位于该对话环境下的监控列表的 Wiki 的最近更改日志的筛选条件。

wikilog list

用法:~wikilog list

此命令用于查看当前对话设置的所有监控列表及设置的数据。

wikilog bot enable

用法:~wikilog enable bot <Wiki 域名/脚本路径>

此命令用于是否启用机器人请求该站点。由于对应机制的尚未完善,本功能暂不开放。

wikilog bot disable

用法:~wikilog disable bot <Wiki 域名/脚本路径>

此命令用于是否禁用机器人请求该站点。由于对应机制的尚未完善,本功能暂不开放。

Cookie帮助我们提供我们的服务。通过使用我们的服务,您同意我们使用cookie。