跳转至内容

phrik

来自 ArchWiki

phrik 是一个存在于大多数 Arch IRC 频道中的 IRC 机器人。它是一个 Limnoria(原 supybot),拥有大量便捷的知识点(factoids)和实用工具,可用于引用经常重复的短语、快速提供有用链接以及其他维护任务。自定义的“命令”(称为知识点)在注册后可以进行编辑或添加(不要与 NickServ 注册混淆)。

账户

警告 请记得使用 /msg phrik 通过私信向 phrik 发起查询,以执行与您的账户相关的操作。在这种情况下,不需要在命令前加上 !

注册

要创建新知识点或更改现有知识点,您需要一个 phrik 账户,该账户的名称不必与您的 IRC 昵称相同。

register name password

示例:register demize stuff 将注册一个名为 demize 且密码为 stuff 的账户

识别

要在当前会话中(或直到您执行 unidentify 为止)向 phrik 验证身份,您需要运行以下命令

identify name password

示例:identify demize stuff

通过主机名验证身份

如果您不想每次连接时都向 phrik 验证身份,您可以向 phrik 账户添加一个主机掩码(hostmask),这样每次从该主机连接时,它都会自动识别您的身份。格式为 nick!ident@host

不过,请谨慎添加主机掩码,因为任何使用该主机掩码连接的人都会被识别为您。因此,您不希望添加来自 ISP 的主机,因为那可能会经常变动。为了通过主机掩码自动验证身份,您需要从服务器进行 IRC 连接或拥有一个 cloak(掩码),否则主机可能会经常变动,从而导致他人被识别为您。如果您打算通过主机验证身份,您可能还需要运行一个 ident 服务器,以便从同一服务器连接的其他用户无法伪装成您。

两个很好的示例是 demize!kyrias@theos.kyriasis.com*!*@archlinux/op/demize

添加新的主机掩码

要添加主机掩码,请向 phrik 发送以下私信命令

hostmask add hostmask

示例:!hostmask add demize!kyrias@theos.kyriasis.com

移除主机掩码

hostmask remove name hostmask
hostmask remove demize demize!kyrias@theos.kyriasis.com

列出主机掩码

hostmask list

知识点 (Factoids)

phrik 拥有 MoobotFactoids 插件,这意味着用户可以创建、召回并向他人提供知识点(即简短的消息)。

要让 phrik 召回某个知识点,您可以将知识点的键(key)加上感叹号前缀发送到其所在的频道或私信,如下所示

!welcome

搜索知识点

要搜索现有的知识点,可以使用 listkeys 和 listvalues 命令

!listkeys welcome

或者

!listvalues welcome

按创建者列出知识点

使用 !listauth 来查找某个昵称创建的所有知识点。当有人不小心创建了知识点而 phrik 没有返回所创建知识点的名称时,这非常有用。

!listauth phrik

查询知识点信息

如果您想查找知识点的创建者和创建时间,可以使用 factinfo 命令

!factinfo welcome

创建新知识点

创建新知识点很简单,只需输入您希望用于召回该知识点的键,然后输入 is,接着是消息内容。通常您会希望在消息前加上 <reply>,这样 phrik 就会原样写入您提供的内容,而不会打印 <key> is <value>

这样创建一个知识点

!example is "<reply>This is an example factoid"

会导致每当有人在频道中说 !example 时,phrik 就会向频道或私信发送 This is an example factoid。如果省略 <reply>,phrik 则会说 example is This is an example factoid

知识点锁定

知识点可以被锁定,以防止他人删除或覆盖,但通常没有必要这样做,因为如果后来有充分的理由需要更改知识点,锁定反而会造成妨碍。通常锁定和解锁是通过调用 MoobotFactoids 插件的命令完成的,但为了方便,!fact 已被别名为 !MoobotFactoids

如果您认为某个知识点应该被修改但它被锁定了,请首先联系锁定它的人(!factinfo 会告知您);如果该人无法联系或拒绝修改,而您仍然认为由于违反规则或类似原因应该修改,请随时联系管理员(要获取管理员列表,请向 phrik 发送私信 !listops)。

!fact lock factoid_key

或者

!fact unlock factoid_key

修改知识点

修改知识点有两种方案:第一种是使用正则替换,第二种是完全替换。正则替换的优点是能够保留原始创建者信息以及最后修改者的信息。

正则替换

要将示例知识点中的单词 "This" 替换为 "That",可以使用如下正则替换

!example =~ s/This/That/

替换知识点

使用 no 命令可以完全用新内容替换一个知识点,如下所示

!no example is "<reply>a really bad example factoid"

删除知识点

删除知识点使用 !MoobotFactoids remove factoid_key,但由于该命令太长,因此有一个名为 !rmfact 的便捷别名。除非有充分理由,否则请勿删除他人的知识点,如果不确定,请先询问。

!rmfact factoid_key

名言 (Quotes)

phrik 使用 QuoteGrabs 插件提供一个易于使用的系统来存储和检索用户说的话。您不需要在 phrik 中验证身份即可抓取/检索名言。所有 QuoteGrabs 命令可以通过 !list QuoteGrabs 命令列出。

channel 参数似乎对下面列出的任何命令的结果都没有影响。)

警告 由于许多名言是在 offtopic 或本地化频道中抓取的,因此它们可能不恰当,甚至包含不适合在工作场合查看的内容 (NSFW)。请勿在非 offtopic 频道中显示随机名言,因为显示的结果可能会造成干扰。

抓取 (Grab)

!grab nickname 命令用于“抓取”一段话。这意味着 nickname 说的最后一段话将被存储在 phrik 的内部数据库中。示例

!grab Arch-TK

!grab!QuoteGrabs grab 同义。

引用 (Quote)

!quote nickname 命令用于查看最后一次抓取的名言。

!quote!QuoteGrabs quote 同义,!q 亦然

随机 (Random)

!QuoteGrabs random nickname 命令用于查看随机选择的名言。如果给定 <nickname>,选择范围将缩小到仅限该用户。

别名 !rq 可替代 !QuoteGrabs random,别名 !multirq 则会随机选择 5 条名言而非 1 条。

!QuoteGrabs search [channel] text 命令用于在 phrik 的名言数据库中搜索包含给定字符串的名言。此命令执行的是字面搜索,这意味着搜索 "Arch-TK broken" 除非找到完全匹配的结果,否则不会返回任何结果。例如

!QuoteGrabs search "Arch-TK Windows"

将不会返回 #35732: Windows ME, best windows.

别名 !qfind 可替代 !QuoteGrabs search

列出 (List)

!QuoteGrabs list [channel] nickname 命令用于列出给定用户的所有名言。

别名 !qlist 可替代 !QuoteGrabs list

说出 (Say)

!QuoteGrabs say [channel] id 命令用于通过搜索和列出功能返回的 ID 查看完整的名言文本。

例如:

!QuoteGrabs say 34656

将返回

<sudokode> ew you might as well be using windows

别名 !qsay 可替代 !QuoteGrabs say

获取 (Get)

!QuoteGrabs get [channel] id 命令与 Say 命令非常相似。它会返回名言的完整文本以及附加信息。

例如:

!QuoteGrabs get 34656

将返回

<sudokode> ew you might as well be using windows (Said by: sudokode!~ponies@unaffiliated/sudokode; grabbed by quantum-mechanic!~neutrino@unaffiliated/electron/x-8286743 at 11:21 AM, November 12, 2014

别名 !qget 可替代 !QuoteGrabs get,但不支持使用 channel 参数。

参见

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.