验证并关联 Mediawiki 站点账户与 Telegram 账户,并在 Telegram 群组中禁止未通过验证的人发言。适用于安装了CentralAuth和OAuth的mediawiki网站。两者均未安装的网站可使用single_wiki
分支的版本,安装了前者但未安装后者的版本可使用non_oauth
分支。以下说明以维基百科为例。
- 机器人何时会尝试禁言?
- 用户入群、自行解除与站内账户的关联、被群管移出白名单时。不过每次尝试时,都会先检查用户是否有其他因素允许其发言。例如用户自行完成验证,此时即使移出白名单也不会被禁言。
- 机器人何时会尝试解除禁言?
- 用户完成验证、被群管加入白名单时。尝试解除禁言时,机器人会检查先前记录下来的禁言期限,并恢复该禁言,从而防止利用机器人解除禁言的机制绕开群管实施的禁言。
- 可以同时验证站内账户与加入白名单吗?
- 可以。这是两个独立的状态,用户只要具有其中一个就可以发言。
- 启用机器人之前已经在群里的用户会被禁言吗?
- 不会。不过当他们解除验证或被移出白名单时,仍然会被禁言。
- 机器人故障时入群的人,在机器人复工后会被如何处理?
- 不会有任何处理。
将机器人设置为管理员并赋予禁言和删除权限,然后发送 /enable@机器人用户名
。
移除机器人的管理员权限,发送 /disable@机器人用户名
,
在群里用 /whois
回复要查询的用户,或者发送 /whois 用户ID
,可查询用户相应的站内账户,或加入白名单的情况。
私聊机器人,发送 /confirm
。机器人会给您一个链接以完成 OAuth 认证。然后机器人会检查您提供的用户名是否注册超过 7 日,并编辑 50 次以上,您需要在至少一个维基媒体计划中达到这个标准。
私聊机器人,发送 /deconfirm
。机器人会提供给您一个按钮,按下按钮后直接解除关联,同时机器人会尝试在群组中禁言您。解除按钮没有时间限制。
发送 /add_whitelist 123456789 备注
,把 123456789
替换成 Telegram 用户的 ID,备注可以为空。在群里也可以直接回复该用户,省略用户 ID。
发送 /remove_whitelist 123456789
,把 123456789
替换成 Telegram 用户的 ID。在群里也可以直接回复该用户,省略用户 ID。
发送 /refuse 123456789
,把 123456789
替换成 Telegram 用户的 ID。在群里也可以直接回复该用户,省略用户 ID。用户将被取消验证验证状态,且无法自行重新验证。白名单状态不会改变。
发送 /accept 123456789
,把 123456789
替换成 Telegram 用户的 ID。在群里也可以直接回复该用户,省略用户 ID。用户将被允许自行验证站内账户,白名单状态不变。
- 如何启用机器人?
- OAuth 的部分在哪里?
- 这里。这部分代码在 Toolforge 运行。
- 是否只能用于验证维基媒体计划?
- 不是。但与之相关的 OAuth 需由上一个问题中提到的代码支持。
non_oauth
和single_wiki
分支则无需额外代码。
- 不是。但与之相关的 OAuth 需由上一个问题中提到的代码支持。
- 是否可以仅检查指定的几个维基,而非全域的所有站点?
- 仅修改 config 不可以。但只需小小地修改
main.py
中的一处即可达到这个目的,config 中也预留了这个配置。
- 仅修改 config 不可以。但只需小小地修改