mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-22 11:59:43 +01:00
doc/Factoids.md: fix TOC; minor edits
This commit is contained in:
parent
43057a6a9e
commit
88f1f6dadd
124
doc/Factoids.md
124
doc/Factoids.md
@ -1,5 +1,4 @@
|
|||||||
Factoids
|
# Factoids
|
||||||
========
|
|
||||||
|
|
||||||
<!-- md-toc-begin -->
|
<!-- md-toc-begin -->
|
||||||
* [Channel namespaces](#channel-namespaces)
|
* [Channel namespaces](#channel-namespaces)
|
||||||
@ -31,34 +30,35 @@ Factoids
|
|||||||
* [action_with_args](#action_with_args)
|
* [action_with_args](#action_with_args)
|
||||||
* [add_nick](#add_nick)
|
* [add_nick](#add_nick)
|
||||||
* [Adding a factoid](#adding-a-factoid)
|
* [Adding a factoid](#adding-a-factoid)
|
||||||
* [factadd](#factadd)
|
* [factadd](#factadd)
|
||||||
* [Viewing/triggering a factoid](#viewingtriggering-a-factoid)
|
* [Viewing/triggering a factoid](#viewingtriggering-a-factoid)
|
||||||
* [Viewing/triggering another channel's factoid](#viewingtriggering-another-channels-factoid)
|
* [Viewing/triggering another channel's factoid](#viewingtriggering-another-channels-factoid)
|
||||||
* [fact](#fact)
|
* [fact](#fact)
|
||||||
* [Deleting a factoid](#deleting-a-factoid)
|
* [Deleting a factoid](#deleting-a-factoid)
|
||||||
* [factrem](#factrem)
|
* [factrem](#factrem)
|
||||||
* [forget](#forget)
|
* [forget](#forget)
|
||||||
* [Aliasing a factoid](#aliasing-a-factoid)
|
* [Aliasing a factoid](#aliasing-a-factoid)
|
||||||
* [factalias](#factalias)
|
* [factalias](#factalias)
|
||||||
* [Moving/renaming a factoid](#movingrenaming-a-factoid)
|
* [Moving/renaming a factoid](#movingrenaming-a-factoid)
|
||||||
* [factmove](#factmove)
|
* [factmove](#factmove)
|
||||||
* [Changing a factoid](#changing-a-factoid)
|
* [Changing a factoid](#changing-a-factoid)
|
||||||
* [factchange](#factchange)
|
* [factchange](#factchange)
|
||||||
* [factundo](#factundo)
|
* [factundo](#factundo)
|
||||||
* [factredo](#factredo)
|
* [factredo](#factredo)
|
||||||
* [factset](#factset)
|
* [Factoid Metadata](#factoid-metadata)
|
||||||
* [factunset](#factunset)
|
* [factset](#factset)
|
||||||
* [Factoid Metadata List](#factoid-metadata-list)
|
* [factunset](#factunset)
|
||||||
|
* [Factoid Metadata List](#factoid-metadata-list)
|
||||||
* [Finding a factoid](#finding-a-factoid)
|
* [Finding a factoid](#finding-a-factoid)
|
||||||
* [factfind](#factfind)
|
* [factfind](#factfind)
|
||||||
* [Information about a factoid](#information-about-a-factoid)
|
* [Information about a factoid](#information-about-a-factoid)
|
||||||
* [factinfo](#factinfo)
|
* [factinfo](#factinfo)
|
||||||
* [factshow](#factshow)
|
* [factshow](#factshow)
|
||||||
* [factset](#factset-1)
|
* [factset](#factset-1)
|
||||||
* [factlog](#factlog)
|
* [factlog](#factlog)
|
||||||
* [count](#count)
|
* [count](#count)
|
||||||
* [histogram](#histogram)
|
* [histogram](#histogram)
|
||||||
* [top20](#top20)
|
* [top20](#top20)
|
||||||
<!-- md-toc-end -->
|
<!-- md-toc-end -->
|
||||||
|
|
||||||
## Channel namespaces
|
## Channel namespaces
|
||||||
@ -157,7 +157,7 @@ All the variables listed in [Special Variables](#special-variables-1) are expand
|
|||||||
the code is executed or interpreted.
|
the code is executed or interpreted.
|
||||||
|
|
||||||
[List variables](#list-variables) are also expanded beforehand as well. You can prevent this by using [`factset`](#factset)
|
[List variables](#list-variables) are also expanded beforehand as well. You can prevent this by using [`factset`](#factset)
|
||||||
to set the `interpolate` [factoid meta-data](#factoid-metadata-list) to `0`. Alternatively, you can prevent `$variables` in
|
to set the `interpolate` [factoid meta-data](#factoid-metadata) to `0`. Alternatively, you can prevent `$variables` in
|
||||||
the code from expanding by prefixing their name with an underscore, i.e. `$_variable`.
|
the code from expanding by prefixing their name with an underscore, i.e. `$_variable`.
|
||||||
|
|
||||||
#### testargs example
|
#### testargs example
|
||||||
@ -175,7 +175,7 @@ the C programming language because why not?
|
|||||||
#### Setting a usage message
|
#### Setting a usage message
|
||||||
|
|
||||||
Suppose you want command to display a usage message if there are no arguments provided. You can use
|
Suppose you want command to display a usage message if there are no arguments provided. You can use
|
||||||
the [`factset`](#factset) command to set the `usage` [factoid meta-data](#factoid-metadata-list).
|
the [`factset`](#factset) command to set the `usage` [factoid meta-data](#factoid-metadata).
|
||||||
|
|
||||||
<pragma-> !testargs
|
<pragma-> !testargs
|
||||||
<PBot> args:
|
<PBot> args:
|
||||||
@ -350,8 +350,7 @@ Modifier | Description
|
|||||||
`:<channel>` | Looks for variable in `<channel>` first; use `global` to refer to the global channel
|
`:<channel>` | Looks for variable in `<channel>` first; use `global` to refer to the global channel
|
||||||
|
|
||||||
## action_with_args
|
## action_with_args
|
||||||
|
You can use the [`factset`](#factset) command to set a special [factoid meta-data](#factoid-metadata) key named `action_with_args` to trigger an alternate message if an argument has been supplied.
|
||||||
You can use the [`factset`](#factset) command to set a special [factoid meta-data](#factoid-metadata-list) key named `action_with_args` to trigger an alternate message if an argument has been supplied.
|
|
||||||
|
|
||||||
<pragma-> !factadd global snack is /me eats a cookie.
|
<pragma-> !factadd global snack is /me eats a cookie.
|
||||||
<PBot> snack added to the global channel
|
<PBot> snack added to the global channel
|
||||||
@ -363,44 +362,38 @@ You can use the [`factset`](#factset) command to set a special [factoid meta-dat
|
|||||||
* PBot gives orbitz a cookie.
|
* PBot gives orbitz a cookie.
|
||||||
|
|
||||||
## add_nick
|
## add_nick
|
||||||
|
You can use the [`factset`](#factset) command to set a special [factoid meta-data](#factoid-metadata) key named `add_nick` to prepend the nick of the caller to the output. This is mostly useful for modules.
|
||||||
|
|
||||||
You can use the [`factset`](#factset) command to set a special [factoid meta-data](#factoid-metadata-list) key named `add_nick` to prepend the nick of the caller to the output. This is mostly useful for modules.
|
## Adding a factoid
|
||||||
|
### factadd
|
||||||
Adding a factoid
|
|
||||||
----------------
|
|
||||||
## factadd
|
|
||||||
Usage: `factadd [channel] <keyword> <description>`
|
Usage: `factadd [channel] <keyword> <description>`
|
||||||
|
|
||||||
To add a factoid to the global channel, use `global` as the channel.
|
To add a factoid to the global channel, use `global` as the channel.
|
||||||
|
|
||||||
<pragma-> !factadd ##c c /say C rocks!
|
<pragma-> !factadd ##c c /say C rocks!
|
||||||
|
|
||||||
Viewing/triggering a factoid
|
## Viewing/triggering a factoid
|
||||||
----------------------------
|
|
||||||
To view or trigger a factoid, one merely issues its keyword as a command.
|
To view or trigger a factoid, one merely issues its keyword as a command.
|
||||||
|
|
||||||
<pragma-> PBot, c?
|
<pragma-> PBot, c?
|
||||||
<PBot> C rocks!
|
<PBot> C rocks!
|
||||||
|
|
||||||
Viewing/triggering another channel's factoid
|
## Viewing/triggering another channel's factoid
|
||||||
--------------------------------------------
|
### fact
|
||||||
## fact
|
|
||||||
To view or trigger a factoid belonging to a specific channel, use the `fact` command.
|
To view or trigger a factoid belonging to a specific channel, use the `fact` command.
|
||||||
|
|
||||||
Usage: `fact <channel> <keyword> [arguments]`
|
Usage: `fact <channel> <keyword> [arguments]`
|
||||||
|
|
||||||
Deleting a factoid
|
## Deleting a factoid
|
||||||
------------------
|
### factrem
|
||||||
## factrem
|
### forget
|
||||||
## forget
|
|
||||||
|
|
||||||
To remove a factoid, use the `factrem` or `forget` command.
|
To remove a factoid, use the `factrem` or `forget` command.
|
||||||
|
|
||||||
Usage: `factrem [channel] <keyword>` `forget [channel] <keyword>`
|
Usage: `factrem [channel] <keyword>` `forget [channel] <keyword>`
|
||||||
|
|
||||||
Aliasing a factoid
|
## Aliasing a factoid
|
||||||
------------------
|
### factalias
|
||||||
## factalias
|
|
||||||
To create an factoid that acts as an alias for a command, use the `factalias` command or set the factoid's `action` meta-data to `/call <command>`.
|
To create an factoid that acts as an alias for a command, use the `factalias` command or set the factoid's `action` meta-data to `/call <command>`.
|
||||||
|
|
||||||
Usage: `factalias [channel] <keyword> <command>`
|
Usage: `factalias [channel] <keyword> <command>`
|
||||||
@ -423,18 +416,16 @@ Usage: `factalias [channel] <keyword> <command>`
|
|||||||
<pragma-> !rafb runtime
|
<pragma-> !rafb runtime
|
||||||
* PBot points accusingly at runtime, "Where is your book?!"
|
* PBot points accusingly at runtime, "Where is your book?!"
|
||||||
|
|
||||||
Moving/renaming a factoid
|
## Moving/renaming a factoid
|
||||||
-------------------------
|
### factmove
|
||||||
## factmove
|
|
||||||
To rename a factoid or move a factoid to a different channel, use the `factmove` command:
|
To rename a factoid or move a factoid to a different channel, use the `factmove` command:
|
||||||
|
|
||||||
Usage: `factmove <source channel> <source factoid> <target channel/factoid> [target factoid]`
|
Usage: `factmove <source channel> <source factoid> <target channel/factoid> [target factoid]`
|
||||||
|
|
||||||
If three arguments are given, the factoid is renamed in the source channel. If four arguments are given, the factoid is moved to the target channel with the target name.
|
If three arguments are given, the factoid is renamed in the source channel. If four arguments are given, the factoid is moved to the target channel with the target name.
|
||||||
|
|
||||||
Changing a factoid
|
## Changing a factoid
|
||||||
------------------
|
### factchange
|
||||||
## factchange
|
|
||||||
To change a factoid, use the `factchange` command:
|
To change a factoid, use the `factchange` command:
|
||||||
|
|
||||||
Usage: `factchange [channel] <keyword> s/<pattern>/<change to>/[gi]`
|
Usage: `factchange [channel] <keyword> s/<pattern>/<change to>/[gi]`
|
||||||
@ -450,30 +441,30 @@ Note that the final argument is a Perl-style substitution regex. See `man perlr
|
|||||||
|
|
||||||
For instance, it is possible to append to a factoid by using: `factchange channel factoid s/$/text to append/`. Likewise, you can prepend to a factoid by using: `factchange channel factoid s/^/text to prepend/`.
|
For instance, it is possible to append to a factoid by using: `factchange channel factoid s/$/text to append/`. Likewise, you can prepend to a factoid by using: `factchange channel factoid s/^/text to prepend/`.
|
||||||
|
|
||||||
## factundo
|
### factundo
|
||||||
To revert to an older revision, use the `factundo` command. You can repeatedly undo a factoid until there are no more undos remaining.
|
To revert to an older revision, use the `factundo` command. You can repeatedly undo a factoid until there are no more undos remaining.
|
||||||
|
|
||||||
Usage: `factundo [channel] <keyword>`
|
Usage: `factundo [channel] <keyword>`
|
||||||
|
|
||||||
## factredo
|
### factredo
|
||||||
To revert to a newer revision, use the `factredo` command. You can repeatedly redo a factoid until there are no more redos available.
|
To revert to a newer revision, use the `factredo` command. You can repeatedly redo a factoid until there are no more redos available.
|
||||||
|
|
||||||
Usage: `factredo [channel] <keyword>`
|
Usage: `factredo [channel] <keyword>`
|
||||||
|
|
||||||
## factset
|
## Factoid Metadata
|
||||||
|
### factset
|
||||||
To view or set [factoid meta-data](#factoid-metadata-list), such as owner, rate-limit, etc, use the [`factset`](#factset) command.
|
To view or set [factoid meta-data](#factoid-metadata-list), such as owner, rate-limit, etc, use the [`factset`](#factset) command.
|
||||||
|
|
||||||
Usage: `factset [channel] <factoid> [<key> [value]]`
|
Usage: `factset [channel] <factoid> [<key> [value]]`
|
||||||
|
|
||||||
Omit `<key>` and `<value>` to list all the keys and values for a factoid. Specify `<key>`, but omit `<value>` to see the value for a specific key.
|
Omit `<key>` and `<value>` to list all the keys and values for a factoid. Specify `<key>`, but omit `<value>` to see the value for a specific key.
|
||||||
|
|
||||||
## factunset
|
### factunset
|
||||||
|
|
||||||
To unset [factoid meta-data](#factoid-metadata-list), use the `factunset` command.
|
To unset [factoid meta-data](#factoid-metadata-list), use the `factunset` command.
|
||||||
|
|
||||||
Usage: `factunset [channel] <factoid> <key>`
|
Usage: `factunset [channel] <factoid> <key>`
|
||||||
|
|
||||||
## Factoid Metadata List
|
### Factoid Metadata List
|
||||||
This is a list of recognized factoid meta-data fields. An admin level of `0` signifies that anybody can set the field.
|
This is a list of recognized factoid meta-data fields. An admin level of `0` signifies that anybody can set the field.
|
||||||
|
|
||||||
Name | Admin level | Description
|
Name | Admin level | Description
|
||||||
@ -497,11 +488,11 @@ Name | Admin level | Description
|
|||||||
`persist-key` | 20 | the storage key for allowing code-factoids to persist variables
|
`persist-key` | 20 | the storage key for allowing code-factoids to persist variables
|
||||||
`action_with_args` | 0 | Alternate action to perform if an argument has been supplied when invoking the factoid.
|
`action_with_args` | 0 | Alternate action to perform if an argument has been supplied when invoking the factoid.
|
||||||
`interpolate` | 0 | When set to a false value, `$variables` will not be expanded.
|
`interpolate` | 0 | When set to a false value, `$variables` will not be expanded.
|
||||||
|
`usage` | 0 | Prints a usage message when no arguments are provided.
|
||||||
`use_output_queue` | 0 | When set to a true value, the output will be delayed by a random number of seconds to simulate reading/typing.
|
`use_output_queue` | 0 | When set to a true value, the output will be delayed by a random number of seconds to simulate reading/typing.
|
||||||
|
|
||||||
Finding a factoid
|
## Finding a factoid
|
||||||
-----------------
|
### factfind
|
||||||
## factfind
|
|
||||||
To search the database for a factoid, use the 'factfind` command. You may optionally specify whether to narrow by channel and/or include factoid owner and/or last referenced by in the search.
|
To search the database for a factoid, use the 'factfind` command. You may optionally specify whether to narrow by channel and/or include factoid owner and/or last referenced by in the search.
|
||||||
|
|
||||||
If there is only one match for the query, it will display that factoid and its text, otherwise it will list all matching keywords.
|
If there is only one match for the query, it will display that factoid and its text, otherwise it will list all matching keywords.
|
||||||
@ -513,9 +504,8 @@ If you specify the `-regex` flag, the `text` argument will be treated as a regex
|
|||||||
<pragma-> !factfind cast
|
<pragma-> !factfind cast
|
||||||
<PBot> 3 factoids match: [##c] NULL casting dontcastmalloc
|
<PBot> 3 factoids match: [##c] NULL casting dontcastmalloc
|
||||||
|
|
||||||
Information about a factoid
|
## Information about a factoid
|
||||||
---------------------------
|
### factinfo
|
||||||
## factinfo
|
|
||||||
To get information about a factoid, such as who submitted it and when, use the `factinfo` command.
|
To get information about a factoid, such as who submitted it and when, use the `factinfo` command.
|
||||||
|
|
||||||
Usage: `factinfo [channel] <keyword>`
|
Usage: `factinfo [channel] <keyword>`
|
||||||
@ -523,7 +513,7 @@ Usage: `factinfo [channel] <keyword>`
|
|||||||
<pragma-> !factinfo ##c NULL
|
<pragma-> !factinfo ##c NULL
|
||||||
<PBot> NULL: Factoid submitted by Major-Willard for all channels on Sat Jan 1 16:17:42 2005 [5 years and 178 days ago], referenced 39 times (last by pragma- on Sun Jun 27 04:40:32 2010 [5 seconds ago])
|
<PBot> NULL: Factoid submitted by Major-Willard for all channels on Sat Jan 1 16:17:42 2005 [5 years and 178 days ago], referenced 39 times (last by pragma- on Sun Jun 27 04:40:32 2010 [5 seconds ago])
|
||||||
|
|
||||||
## factshow
|
### factshow
|
||||||
To see the factoid `action` meta-data, use the `factshow` command.
|
To see the factoid `action` meta-data, use the `factshow` command.
|
||||||
|
|
||||||
Usage: `factshow [channel] <keyword>`
|
Usage: `factshow [channel] <keyword>`
|
||||||
@ -531,14 +521,14 @@ Usage: `factshow [channel] <keyword>`
|
|||||||
<pragma-> !factshow hi
|
<pragma-> !factshow hi
|
||||||
<PBot> hi: /say $greetings, $nick.
|
<PBot> hi: /say $greetings, $nick.
|
||||||
|
|
||||||
## factset
|
### factset
|
||||||
To view [factoid meta-data](#factoid-metadata-list), such as owner, rate-limit, etc, use the `factset` command.
|
To view [factoid meta-data](#factoid-metadata-list), such as owner, rate-limit, etc, use the `factset` command.
|
||||||
|
|
||||||
Usage: `factset [channel] <factoid> [<key> [value]]`
|
Usage: `factset [channel] <factoid> [<key> [value]]`
|
||||||
|
|
||||||
Omit `<key>` and `<value>` to list all the keys and values for a factoid. Specify `<key>`, but omit `<value>` to see the value for a specific key.
|
Omit `<key>` and `<value>` to list all the keys and values for a factoid. Specify `<key>`, but omit `<value>` to see the value for a specific key.
|
||||||
|
|
||||||
## factlog
|
### factlog
|
||||||
To see a factoid's changelog history, use the `factlog` command.
|
To see a factoid's changelog history, use the `factlog` command.
|
||||||
|
|
||||||
Usage: `factlog [-h] [-t] [channel] <factoid>`
|
Usage: `factlog [-h] [-t] [channel] <factoid>`
|
||||||
@ -560,7 +550,7 @@ Usage: `factlog [-h] [-t] [channel] <factoid>`
|
|||||||
<pragma-> !factlog hi
|
<pragma-> !factlog hi
|
||||||
<PBot> [3m ago] pragma- created: /say Hi! [5m ago] pragma- deleted [8m ago] pragma- changed to /say Hello there, $nick! [10m ago] pragma- created: /say Hello there!
|
<PBot> [3m ago] pragma- created: /say Hi! [5m ago] pragma- deleted [8m ago] pragma- changed to /say Hello there, $nick! [10m ago] pragma- created: /say Hello there!
|
||||||
|
|
||||||
## count
|
### count
|
||||||
To see how many factoids and what percentage of the database `<nick>` has submitted, use the `count` command.
|
To see how many factoids and what percentage of the database `<nick>` has submitted, use the `count` command.
|
||||||
|
|
||||||
Usage: `count <nick>`
|
Usage: `count <nick>`
|
||||||
@ -574,13 +564,13 @@ Usage: `count <nick>`
|
|||||||
<pragma-> !count pragma
|
<pragma-> !count pragma
|
||||||
<PBot> pragma has submitted 27 factoids out of 233 (11%)
|
<PBot> pragma has submitted 27 factoids out of 233 (11%)
|
||||||
|
|
||||||
## histogram
|
### histogram
|
||||||
To see a histogram of the top factoid submitters, use the `histogram` command.
|
To see a histogram of the top factoid submitters, use the `histogram` command.
|
||||||
|
|
||||||
<pragma-> !histogram
|
<pragma-> !histogram
|
||||||
<PBot> 268 factoids, top 10 submitters: twkm: 74 (27%) Major-Willard: 64 (23%) pragma-: 40 (14%) prec: 39 (14%) defrost: 14 (5%) PoppaVic: 10 (3%) infobahn: 7 (2%) orbitz: 3 (1%) mauke: 3 (1%) Tom^: 2 (1%)
|
<PBot> 268 factoids, top 10 submitters: twkm: 74 (27%) Major-Willard: 64 (23%) pragma-: 40 (14%) prec: 39 (14%) defrost: 14 (5%) PoppaVic: 10 (3%) infobahn: 7 (2%) orbitz: 3 (1%) mauke: 3 (1%) Tom^: 2 (1%)
|
||||||
|
|
||||||
## top20
|
### top20
|
||||||
To see the top 20 most popular factoids, use the `top20` command. It can also show you the 50 most recent factoids that were added to a channel.
|
To see the top 20 most popular factoids, use the `top20` command. It can also show you the 50 most recent factoids that were added to a channel.
|
||||||
|
|
||||||
Usage: `top20 <channel> [<nick> or 'recent']`
|
Usage: `top20 <channel> [<nick> or 'recent']`
|
||||||
|
Loading…
Reference in New Issue
Block a user