phrik
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 参数似乎对下面列出的任何命令的结果都没有影响。)
抓取 (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 参数。