phrik - ArchWiki

Jump to content

# phrik

From ArchWiki

phrik is an IRC bot present in most Arch IRC channels. It is a Limnoria (formerly a supybot) with loads of handy factoids and utilities for things like quoting oft-repeated phrases, quickly giving people useful links and other janitorial tasks. Custom "commands", called factoids, can be edited or added once registered (not to be confused with NickServ registration.)

## Account

Warning Remember to query phrik in a private message with `/msg phrik` for operations related to your account. Prefixing commands with `!` is not required in this case.

### Registering

To make new or change already existing factoids you need to have a phrik account, which does not have to be named the same as your IRC nick.

    register name password

Example: `register demize stuff` to register an account named `demize` with the password `stuff`

### Identifying

To identify with phrik for the current session, or until you `unidentify`, you need to run the following command:

    identify name password

Example: `identify demize stuff`

### Identify with hostname

If you do not want to have to identify with phrik every time you connect you can add a hostmask to your phrik account which will make it identify you automatically every time you connect from that host. They are in the form of `nick!ident@host`.

Be careful what hostmask you add though, since anyone connecting with that hostmask will be identified as you so you do not want to add the host from your ISP since that will likely change a lot. To be autoidentified with a hostmask you will want to either IRC from a server or have a cloak, otherwise the host will likely change a lot and thus others might get identified as you. If you are going to get identified with a host you might also want to run an ident server so that others connecting from the same server will not be able to fake being you.

Two good examples are `demize!kyrias@theos.kyriasis.com` or `*!*@archlinux/op/demize`.

#### Adding a new hostmask

To add a hostmask send the following command to phrik in private:

    hostmask add hostmask

Example: `!hostmask add demize!kyrias@theos.kyriasis.com`

#### Removing a hostmask

    hostmask remove name hostmask

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

#### Listing hostmasks

    hostmask list

## Factoids

phrik has the MoobotFactoids plugins, meaning users can create, recall and give others factoids, which are small messages.

To make phrik recall a factoid you can either send the key of the factoid prefixed with an exclamation mark either to a channel where it is in or in private, like this:

    !welcome

### Searching factoids

To search existing factoids, you can use the listkeys and listvalues commands:

    !listkeys welcome

or

    !listvalues welcome

### Listing factoids by creator

Use `!listauth` to find all factoids a nick created. This is great when someone accidentally created a factoid since phrik does not return the name of the created factoid.

    !listauth phrik

### Finding out info about factoids

If you want to find the creator and creation time of a factoid, you can use the factinfo command:

    !factinfo welcome

### Creating new factoids

Creating a new factoid is as easy as typing the key you want the factoid to be recalled by, `is` and then the message. Often you want to prepend the message with `<reply>` so that phrik will just write the message exactly as you give it, instead of printing `<key> is <value>`.

Making a factoid like this:

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

Will make phrik send `This is an example factoid` to the channel or pm whenever someone says `!example` in the channel. If the `<reply>` is omitted phrik will instead say `example is This is an example factoid`.

### Factoid locking

Factoids can be locked to prevent other people from removing or overwriting a factoid, but there is generally no need for that as it is just in the way if there ends up being a good reason for the factoid being changed. Normally locking and unlocking would be done by calling the commands from the `MoobotFactoids` plugin, but `!fact` is aliased to `!MoobotFactoids` for convenience.

If a factoid you think should be changed is locked, firstly contact the person who locked it (`!factinfo` will tell you), and if the person is either unavailable or refuses to change it but you still think it should be, due to breaking the rules or similar, feel free to contact the ops. (To get a list of ops send `!listops` to phrik in a pm.)

    !fact lock factoid_key

or

    !fact unlock factoid_key

### Modifying factoids

For modifying a factoid there are two alternatives, the first is using a regex substitute and the second is replacing it completely. Regex replaces have the good property of keeping the original creator info and who last modified it.

#### Regex substitute

To replace the word "This" in the example factoid with the word "That" you can use regex replace like this:

    !example =~ s/This/That/

#### Replacing a factoid

Completely replacing a factoid with something new can be done with the no command like this:

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

### Deleting factoids

Removing a factoid is done with `!MoobotFactoids remove factoid_key`, but since that is too long, there exists an alias for convenience called `!rmfact`. Do not delete others factoids without a good reason, and do ask first if you are unsure.

    !rmfact factoid_key

## Quotes

phrik uses the QuoteGrabs plugin to provide an easy to use system for storing and retrieving things users say. You do not need to be identified with phrik to grab/retrieve quotes. All the QuoteGrabs commands can be listed using the command `!list QuoteGrabs`.

(The `channel` argument does not seem to make any difference to the result of any of the commands listed below.)

Warning Because many quotes were captured in offtopic or localized channels they may be inappropriate or even not safe for work (NSFW). Do not display a random quote in non-offtopic channels because the displayed result may be disruptive.

### Grab

The `!grab nickname` command is used to "grab" a quote. This means that the last thing `nickname` said will be stored in phrik's internal database. Example:

    !grab Arch-TK

`!grab` is synonymous to `!QuoteGrabs grab`.

### Quote

The `!quote nickname` command is used to view the last grabbed quote.

`!quote` is synonymous to `!QuoteGrabs quote`, and so is `!q`

### Random

The `!QuoteGrabs random nickname` command is used to view a random selection of quotes. Given a `<nickname>` the selection is narrowed to just one user.

The alias `!rq` can be used in place of `!QuoteGrabs random` and the alias `!multirq` gives a selection of 5 random quotes instead of just 1.

### Search

The `!QuoteGrabs search [channel] text` command is used to search phrik's quote database for a quote containing a given string. This command does a literal search, this means that searching for "Arch-TK broken" will not return any search results unless that literal result is found. For example:

    !QuoteGrabs search "Arch-TK Windows"

Will not return `#35732: Windows ME, best windows.`.

The alias `!qfind` can be used in place of `!QuoteGrabs search`.

### List

The `!QuoteGrabs list [channel] nickname` command is used to list all the quotes for a given user.

The alias `!qlist` can be used in place of `!QuoteGrabs list`.

### Say

The `!QuoteGrabs say [channel] id` command is used to view the full quote text using an ID returned by the search and list functions.

For example:

    !QuoteGrabs say 34656

Will return:

    <sudokode> ew you might as well be using windows

The alias `!qsay` can be used in place of `!QuoteGrabs say`.

### Get

The `!QuoteGrabs get [channel] id` command is very similar to the Say command. It returns the full text of the quote along with additional information.

For example:

    !QuoteGrabs get 34656

Will return:

    <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

The alias `!qget` can be used in place of `!QuoteGrabs get` but does not permit using a `channel` argument.

## See also

- Limnoria's documentation

Category:

- Internet Relay Chat

phrik
Add topic