此模块可以用于监控基于 MediaWiki 的网站的指定日志的信息,当机器人检测到日志存在变动时将会自动推送消息至该群。
wikilog add wiki
用法:~wikilog add wiki <Wiki 域名/脚本路径>
此命令可以添加一个 Wiki 到该对话环境下的监控列表中。
尽管链接可以直接填写 Wiki 的 URL,但机器人的自动检测可能会出错。
index.php
、api.php
所在的目录。
- 在 WMF 所属的网站(维基百科、维基词典等)和 Miraheze 农场,此目录在
<域名>/w/
。 - 在 Fandom 农场的英文 Wiki 上,此目录在
<域名>
。 - 在 Fandom 农场的其他语言 Wiki 上,此目录在
<域名>/<语言代码>/
。
如果你的 Wiki 是自行搭建的,或你的农场没有在此列出,下面是获取脚本路径的方法。
- 在搜索框内输入:
Special:Version
。 - 打开页面后,向下滑并找到第二个表格。对于中文 Wiki 来说,此表格的名称为“接入点URL”。
- 找到此表格的第二行(对于中文 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 到该对话环境下的监控列表中。
当前支持的日志类型如下:
AbuseLog
、RecentChanges
wikilog disable
用法:~wikilog disable <Wiki 域名/脚本路径> <日志类型>
此命令可以为该对话环境添加的 Wiki 关闭某一种类型的日志监控。
当前支持的日志类型如下:
AbuseLog
、RecentChanges
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
、minor
、patrolled
、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 域名/脚本路径>
此命令用于是否禁用机器人请求该站点。由于对应机制的尚未完善,本功能暂不开放。