diff --git a/doc/Admin.md b/doc/Admin.md index 45a7b710..a606406d 100644 --- a/doc/Admin.md +++ b/doc/Admin.md @@ -1,53 +1,53 @@ # Administrative - * [Logging in and out](#logging-in-and-out) - * [login](#login) - * [logout](#logout) - * [Admin management commands](#admin-management-commands) - * [adminadd](#adminadd) - * [adminrem](#adminrem) - * [Admin levels](#admin-levels) - * [adminset](#adminset) - * [adminunset](#adminunset) - * [Admin metadata list](#admin-metadata-list) - * [Listing admins](#listing-admins) - * [Channel management commands](#channel-management-commands) - * [join](#join) - * [part](#part) - * [chanadd](#chanadd) - * [chanrem](#chanrem) - * [chanset](#chanset) - * [chanunset](#chanunset) - * [chanlist](#chanlist) - * [Channel metadata list](#channel-metadata-list) - * [ignore](#ignore) - * [unignore](#unignore) - * [whitelist](#whitelist) - * [blacklist](#blacklist) - * [op](#op) - * [deop](#deop) - * [voice](#voice) - * [devoice](#devoice) - * [mode](#mode) - * [ban/mute](#banmute) - * [unban/unmute](#unbanunmute) - * [invite](#invite) - * [kick](#kick) - * [Module management commands](#module-management-commands) - * [load](#load) - * [unload](#unload) - * [Plugin management commands](#plugin-management-commands) - * [plug](#plug) - * [unplug](#unplug) - * [replug](#replug) - * [pluglist](#pluglist) - * [Miscellaneous commands](#miscellaneous-commands) - * [export](#export) - * [refresh](#refresh) - * [reload](#reload) - * [sl](#sl) - * [die](#die) +* [Logging in and out](#logging-in-and-out) + * [login](#login) + * [logout](#logout) +* [Admin management commands](#admin-management-commands) + * [adminadd](#adminadd) + * [adminrem](#adminrem) + * [Admin levels](#admin-levels) + * [adminset](#adminset) + * [adminunset](#adminunset) + * [Admin metadata list](#admin-metadata-list) + * [Listing admins](#listing-admins) +* [Channel management commands](#channel-management-commands) + * [join](#join) + * [part](#part) + * [chanadd](#chanadd) + * [chanrem](#chanrem) + * [chanset](#chanset) + * [chanunset](#chanunset) + * [chanlist](#chanlist) + * [Channel metadata list](#channel-metadata-list) + * [ignore](#ignore) + * [unignore](#unignore) + * [whitelist](#whitelist) + * [blacklist](#blacklist) + * [op](#op) + * [deop](#deop) + * [voice](#voice) + * [devoice](#devoice) + * [mode](#mode) + * [ban/mute](#banmute) + * [unban/unmute](#unbanunmute) + * [invite](#invite) + * [kick](#kick) +* [Module management commands](#module-management-commands) + * [load](#load) + * [unload](#unload) +* [Plugin management commands](#plugin-management-commands) + * [plug](#plug) + * [unplug](#unplug) + * [replug](#replug) + * [pluglist](#pluglist) +* [Miscellaneous commands](#miscellaneous-commands) + * [export](#export) + * [refresh](#refresh) + * [reload](#reload) + * [sl](#sl) + * [die](#die) ## Logging in and out diff --git a/doc/AntiAbuse.md b/doc/AntiAbuse.md index 6ffee152..3836abee 100644 --- a/doc/AntiAbuse.md +++ b/doc/AntiAbuse.md @@ -3,14 +3,14 @@ PBot can monitor channels for abusive behavior and take appropriate action. - * [Flood control](#flood-control) - * [Message flood](#message-flood) - * [Join flood](#join-flood) - * [Enter key abuse](#enter-key-abuse) - * [Nick flood](#nick-flood) - * [Anti-away/Nick-control](#anti-awaynick-control) - * [Anti-auto-rejoin control](#anti-auto-rejoin-control) - * [Opping/Deopping](#oppingdeopping) +* [Flood control](#flood-control) + * [Message flood](#message-flood) + * [Join flood](#join-flood) + * [Enter key abuse](#enter-key-abuse) + * [Nick flood](#nick-flood) +* [Anti-away/Nick-control](#anti-awaynick-control) +* [Anti-auto-rejoin control](#anti-auto-rejoin-control) +* [Opping/Deopping](#oppingdeopping) ## Flood control diff --git a/doc/Commands.md b/doc/Commands.md index 036d11ca..bfaf8334 100644 --- a/doc/Commands.md +++ b/doc/Commands.md @@ -58,7 +58,7 @@ * [unplug](Admin.md#unplug) * [replug](Admin.md#replug) * [pluglist](Admin.md#pluglist) - * [Command metadata commands](#command-metadata-commands) + * [Command metadata](#command-metadata) * [cmdset](Admin.md#cmdset) * [cmdunset](Admin.md#cmdunset) * [Registry commands](#registry-commands) @@ -76,7 +76,7 @@ * [sl](Admin.md#sl) * [die](Admin.md#die) * [Factoid commands](#factoid-commands) - * [Adding/remove factoids](#addingremove-factoids) + * [Adding/removing factoids](#addingremoving-factoids) * [factadd](Factoids.md#factadd) * [factrem](Factoids.md#factrem) * [factalias](Factoids.md#factalias) @@ -88,12 +88,13 @@ * [factmove](Factoids.md#factmove) * [factundo](Factoids.md#factundo) * [factredo](Factoids.md#factredo) + * [Factoid metadata](#factoid-metadata) * [factset](Factoids.md#factset) * [factunset](Factoids.md#factunset) * [Information about factoids](#information-about-factoids) - * [factlog](Factoids.md#factlog) * [factfind](Factoids.md#factfind) * [factinfo](Factoids.md#factinfo) + * [factlog](Factoids.md#factlog) * [count](Factoids.md#count) * [histogram](Factoids.md#histogram) * [top20](Factoids.md#top20) @@ -101,18 +102,15 @@ ## Command interpreter - PBot has a powerful command interpreter with useful functionality. ### Piping - You can pipe output from one command as input into another command, indefinitely. !echo hello world | {sed s/world/everybody/} | {uc} HELLO EVERYBODY ### Substitution - You can insert the output from another command at any point within a command. This substitutes the command with its output at the point where the command was used. @@ -137,14 +135,12 @@ factoid otherwise it will be expanded first. https://google.com/search?tbm=isch&q=spaces%20%26%20stuff ### Chaining - You can execute multiple commands sequentially as one command. !echo Test! ;;; me smiles. ;;; version Test! * PBot smiles. PBot version 2696 2020-01-04 ### Variables - You can use factoids as variables and interpolate them within commands. !factadd greeting "Hello, world" @@ -159,7 +155,6 @@ combine their effects. HELLO, WORLD ### Inline invocation - You can invoke up to three commands inlined within a message. If the message is addressed to a nick, the output will also be addressed to them. @@ -168,17 +163,14 @@ is addressed to a nick, the output will also be addressed to them. newuser13: To learn all about me, see https://github.com/pragma-/pbot/tree/master/doc ## Types of commands - There are several ways of adding new commands to PBot. We'll go over them here. ### Built-in commands - Built-in commands are commands that are internal and native to PBot. They are executed within PBot's API and context. They have access to PBot internal subroutine and data structures. #### Creating new built-in commands - Built-in commands are created via the `register()` function of the `Commands` module. Such commands are registered throughout PBot's source code. The owner of the PBot instance can locally add new commands by editing PBot's source code @@ -188,7 +180,6 @@ or by acquiring and loading Plugins. * built-in commands have access to PBot internal API functions and data structures #### Plugins - Additional built-in commands can be created by loading PBot Plugins. Plugins are stand-alone self-contained units of code that can be loaded by the PBot owner. @@ -196,7 +187,6 @@ stand-alone self-contained units of code that can be loaded by the PBot owner. * PBot Plugins have access to PBot internal API functions and data structures ### Factoids - Factoids are another type of command. Factoids are simple text commands which anybody can create. In their most basic form, they simply display their text when invoked. However, significantly more complex Factoids can be created by @@ -209,7 +199,6 @@ using the [powerful interpreter features](#command-interpreter) and by using the For more information, see the [Factoids documentations.](Factoids.md) #### Code Factoids - Code Factoids are Factoids whose text begins with the `/code` command. These Factoids will execute their text using the scripting or programming language specified by the argument following the `/code` command. @@ -220,7 +209,6 @@ language specified by the argument following the `/code` command. For more information, see the [Code Factoid documentation.](Factoids.md#code) #### Modules - Modules are simple stand-alone external command-line scripts and programs. Just about any application that can be run in your command-line shell can be loaded as a PBot module. @@ -231,12 +219,10 @@ a PBot module. For more information, see the [Modules documentation.](Modules.md) ## List of commands - Here is the list of all of PBot's built-in commands and some of the more useful Factoids, Plugins and Modules. ### version - The `version` command displays the currently installed PBot revision and revision date. It will also check to see if there is a new version available. @@ -244,20 +230,16 @@ revision date. It will also check to see if there is a new version available. PBot version 2845 2020-01-19; new version available: 2850 2020-01-20! ### help - The `help` command displays useful information about built-in commands and Factoids. Usage: `help [keyword] [channel]` ### Administrative commands - #### Logging in and out of PBot - ##### [login](Admin.md#login) ##### [logout](Admin.md#logout) #### Admin management commands - ##### [adminadd](Admin.md#adminadd) ##### [adminrem](Admin.md#adminrem) ##### [adminset](Admin.md#adminset) @@ -265,7 +247,6 @@ Usage: `help [keyword] [channel]` ##### [list admins](Admin.md#listing-admins) #### Channel management commands - ##### [join](Admin.md#join) ##### [part](Admin.md#part) ##### [chanadd](Admin.md#chanadd) @@ -300,8 +281,7 @@ Usage: `help [keyword] [channel]` ##### [replug](Admin.md#replug) ##### [pluglist](Admin.md#pluglist) -#### Command metadata commands - +#### Command metadata ##### [cmdset](Admin.md#cmdset) ##### [cmdunset](Admin.md#cmdunset) @@ -316,7 +296,6 @@ Usage: `help [keyword] [channel]` ##### [regunsetmeta](Registry.md#regunsetmeta) #### Miscellaneous admin commands - ##### [export](Admin.md#export) ##### [refresh](Admin.md#refresh]) ##### [reload](Admin.md#reload]) @@ -324,8 +303,7 @@ Usage: `help [keyword] [channel]` ##### [die](Admin.md#die) ### Factoid commands - -#### Adding/remove factoids +#### Adding/removing factoids ##### [factadd](Factoids.md#factadd) ##### [factrem](Factoids.md#factrem) ##### [factalias](Factoids.md#factalias) @@ -339,13 +317,15 @@ Usage: `help [keyword] [channel]` ##### [factmove](Factoids.md#factmove) ##### [factundo](Factoids.md#factundo) ##### [factredo](Factoids.md#factredo) + +#### Factoid metadata ##### [factset](Factoids.md#factset) ##### [factunset](Factoids.md#factunset) #### Information about factoids -##### [factlog](Factoids.md#factlog) ##### [factfind](Factoids.md#factfind) ##### [factinfo](Factoids.md#factinfo) +##### [factlog](Factoids.md#factlog) ##### [count](Factoids.md#count) ##### [histogram](Factoids.md#histogram) ##### [top20](Factoids.md#top20) diff --git a/doc/Factoids.md b/doc/Factoids.md index 85682bd8..88b106c0 100644 --- a/doc/Factoids.md +++ b/doc/Factoids.md @@ -1,66 +1,61 @@ # Factoids - * [About](#about) - * [Channel namespaces](#channel-namespaces) - * [Special commands](#special-commands) - * [/say](#say) - * [/me](#me) - * [/call](#call) - * [/msg](#msg) - * [/code](#code) - * [Supported languages](#supported-languages) - * [Special variables](#special-variables) - * [testargs example](#testargs-example) - * [Setting a usage message](#setting-a-usage-message) - * [poll/vote example](#pollvote-example) - * [SpongeBob Mock meme example](#spongebob-mock-meme-example) - * [Using command-piping](#using-command-piping) - * [Improving SpongeBob Mock meme](#improving-spongebob-mock-meme) - * [Formatting and editing lengthy Code Factoids](#formatting-and-editing-lengthy-code-factoids) - * [Special variables](#special-variables-1) - * [$args](#args) - * [$arg[n]](#argn) - * [$arg[n:m]](#argnm) - * [$arglen](#arglen) - * [$channel](#channel) - * [$nick](#nick) - * [$randomnick](#randomnick) - * [$0](#0) - * [List variables](#list-variables) - * [Expansion modifiers](#expansion-modifiers) - * [action_with_args](#action_with_args) - * [add_nick](#add_nick) - * [Adding a factoid](#adding-a-factoid) - * [factadd](#factadd) - * [Viewing/triggering a factoid](#viewingtriggering-a-factoid) - * [Viewing/triggering another channel's factoid](#viewingtriggering-another-channels-factoid) - * [fact](#fact) - * [Deleting a factoid](#deleting-a-factoid) - * [factrem](#factrem) - * [forget](#forget) - * [Aliasing a factoid](#aliasing-a-factoid) - * [factalias](#factalias) - * [Moving/renaming a factoid](#movingrenaming-a-factoid) - * [factmove](#factmove) - * [Changing a factoid](#changing-a-factoid) - * [factchange](#factchange) - * [factundo](#factundo) - * [factredo](#factredo) - * [Factoid Metadata](#factoid-metadata) - * [factset](#factset) - * [factunset](#factunset) - * [Factoid Metadata List](#factoid-metadata-list) - * [Finding a factoid](#finding-a-factoid) - * [factfind](#factfind) - * [Information about a factoid](#information-about-a-factoid) - * [factinfo](#factinfo) - * [factshow](#factshow) - * [factset](#factset-1) - * [factlog](#factlog) - * [count](#count) - * [histogram](#histogram) - * [top20](#top20) +* [About](#about) +* [Channel namespaces](#channel-namespaces) +* [Special commands](#special-commands) + * [/say](#say) + * [/me](#me) + * [/call](#call) + * [/msg](#msg) + * [/code](#code) + * [Supported languages](#supported-languages) + * [Special variables](#special-variables) + * [testargs example](#testargs-example) + * [Setting a usage message](#setting-a-usage-message) + * [poll/vote example](#pollvote-example) + * [SpongeBob Mock meme example](#spongebob-mock-meme-example) + * [Using command-piping](#using-command-piping) + * [Improving SpongeBob Mock meme](#improving-spongebob-mock-meme) + * [Formatting and editing lengthy Code Factoids](#formatting-and-editing-lengthy-code-factoids) +* [Special variables](#special-variables-1) + * [$args](#args) + * [$arg[n]](#argn) + * [$arg[n:m]](#argnm) + * [$arglen](#arglen) + * [$channel](#channel) + * [$nick](#nick) + * [$randomnick](#randomnick) + * [$0](#0) +* [List variables](#list-variables) + * [Expansion modifiers](#expansion-modifiers) +* [action_with_args](#action_with_args) +* [add_nick](#add_nick) +* [Adding/removing factoids](#addingremoving-factoids) + * [factadd](#factadd) + * [factrem](#factrem) + * [forget](#forget) + * [factalias](#factalias) +* [Displaying factoids](#displaying-factoids) + * [fact](#fact) + * [factshow](#factshow) +* [Editing factoids](#editing-factoids) + * [factchange](#factchange) + * [factmove](#factmove) + * [factundo](#factundo) + * [factredo](#factredo) +* [Factoid Metadata](#factoid-metadata) + * [factset](#factset) + * [factunset](#factunset) + * [Factoid Metadata List](#factoid-metadata-list) +* [Information about factoids](#information-about-factoids) + * [factfind](#factfind) + * [factinfo](#factinfo) + * [factlog](#factlog) + * [factset](#factset-1) + * [count](#count) + * [histogram](#histogram) + * [top20](#top20) ## About @@ -175,7 +170,7 @@ All the variables listed in [Special Variables](#special-variables-1) are expand the code is executed or interpreted. [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) to `0`. Alternatively, you can prevent `$variables` in +to set the `interpolate` [factoid metadata](#factoid-metadata) to `0`. Alternatively, you can prevent `$variables` in the code from expanding by prefixing their name with an underscore, i.e. `$_variable`. #### testargs example @@ -195,7 +190,7 @@ the C programming language because why not? #### Setting a usage message Suppose you want the 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). +the [`factset`](#factset) command to set the `usage` [factoid metadata](#factoid-metadata). !testargs args: @@ -412,7 +407,7 @@ Modifier | Description `:` | Looks for variable in `` first; use `global` to refer to the global channel ## 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 metadata](#factoid-metadata) key named `action_with_args` to trigger an alternate message if an argument has been supplied. !factadd global snack is /me eats a cookie. snack added to the global channel @@ -427,9 +422,9 @@ You can use the [`factset`](#factset) command to set a special [factoid meta-dat * PBot gives orbitz a cookie. ## 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 metadata](#factoid-metadata) key named `add_nick` to prepend the nick of the caller to the output. This is mostly useful for modules. -## Adding a factoid +## Adding/removing factoids ### factadd Usage: `factadd [-f] [channel] ( | -url )` @@ -446,19 +441,6 @@ will retain all formatting, including line-breaks and indentation. !factadd newfactoid -url http://ix.io/XXXX newfactoid added to global channel. -## Viewing/triggering a factoid -To view or trigger a factoid, one merely issues its keyword as a command. - - PBot, c? - C rocks! - -## Viewing/triggering another channel's factoid -### fact -To view or trigger a factoid belonging to a specific channel, use the `fact` command. - -Usage: `fact [arguments]` - -## Deleting a factoid ### factrem ### forget @@ -466,45 +448,61 @@ To remove a factoid, use the `factrem` or `forget` command. Usage: `factrem [channel] ` `forget [channel] ` -## Aliasing a factoid ### 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 `. +To create an factoid that acts as an alias for a command, use the `factalias` command or set the factoid's `action` metadata to `/call `. Usage: `factalias [channel] ` - !factadd ##c offtopic is /say In this channel, $args is off-topic. + !factadd offtopic /say In this channel, $args is off-topic. !offtopic C++ In this channel, C++ is off-topic. - !factalias ##c C++ offtopic C++ + !factadd C++ /call offtopic C++ !C++ In this channel, C++ is off-topic. - !factadd ##c book is /me points accusingly at $args, "Where is your book?!" - book added to ##c + !factadd book /me points accusingly at $args, "Where is your book?" !book newbie - * PBot points accusingly at newbie, "Where is your book?!" + * PBot points accusingly at newbie, "Where is your book?" - !factadd ##c rafb /call book - rafb added to ##c + !factalias rafb book !rafb runtime - * PBot points accusingly at runtime, "Where is your book?!" + * PBot points accusingly at runtime, "Where is your book?" -## Moving/renaming a factoid -### factmove -To rename a factoid or move a factoid to a different channel, use the `factmove` command: +## Displaying factoids +To view or trigger a factoid, one merely issues its keyword as a command. -Usage: `factmove [target factoid]` + PBot, c? + C rocks! -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. + !snack + * PBot eats a cookie. -## Changing a factoid +### fact +To view or trigger a factoid belonging to a specific channel, use the `fact` command. + +Usage: `fact [arguments]` + +### factshow +To see a factoid's literal value without invoking the factoid, use the `factshow` command. + +Usage: `factshow [-p] [channel] ` + + !factshow hi + hi: /say $greetings, $nick. + +You can use the `-p` option to have PBot paste the factoid description to a Web-based +text paste site. PBot will output a link to the paste instead. This is useful if the +factoid was added with [`factadd`](#factadd)'s `-url` option and contains formatting +such as line-breaks and indentation. + +## Editing factoids ### factchange To change a factoid, use the `factchange` command: @@ -523,6 +521,13 @@ 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/`. +### factmove +To rename a factoid or move a factoid to a different channel, use the `factmove` command: + +Usage: `factmove [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. + ### factundo To revert to an older revision, use the `factundo` command. You can repeatedly undo a factoid until there are no more undos remaining. @@ -535,19 +540,19 @@ Usage: `factredo [channel] ` ## 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 metadata](#factoid-metadata-list), such as owner, rate-limit, etc, use the [`factset`](#factset) command. Usage: `factset [channel] [ [value]]` Omit `` and `` to list all the keys and values for a factoid. Specify ``, but omit `` to see the value for a specific key. ### factunset -To unset [factoid meta-data](#factoid-metadata-list), use the `factunset` command. +To unset [factoid metadata](#factoid-metadata-list), use the `factunset` command. Usage: `factunset [channel] ` ### 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 metadata fields. An admin level of `0` signifies that anybody can set the field. Name | Admin level | Description --- | --- | --- @@ -573,7 +578,7 @@ Name | Admin level | Description `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. -## Finding a factoid +## Information about factoids ### 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. @@ -586,7 +591,6 @@ If you specify the `-regex` flag, the `text` argument will be treated as a regex !factfind cast 3 factoids match: [##c] NULL casting dontcastmalloc -## Information about a factoid ### factinfo To get information about a factoid, such as who submitted it and when, use the `factinfo` command. @@ -595,26 +599,6 @@ Usage: `factinfo [channel] ` !factinfo ##c NULL 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 -To see the factoid description, use the `factshow` command. - -Usage: `factshow [-p] [channel] ` - - !factshow hi - hi: /say $greetings, $nick. - -You can use the `-p` option to have PBot paste the factoid description to a Web-based -text paste site. PBot will output a link to the paste instead. This is useful if the -factoid was added with the `-url` option and contains formatting such as line-breaks -and indentation. - -### factset -To view [factoid meta-data](#factoid-metadata-list), such as owner, rate-limit, etc, use the `factset` command. - -Usage: `factset [channel] [ [value]]` - -Omit `` and `` to list all the keys and values for a factoid. Specify ``, but omit `` to see the value for a specific key. - ### factlog To see a factoid's changelog history, use the `factlog` command. @@ -640,6 +624,13 @@ Usage: `factlog [-h] [-t] [channel] ` !factlog hi [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! +### factset +To view [factoid metadata](#factoid-metadata-list), such as owner, rate-limit, etc, use the `factset` command. + +Usage: `factset [channel] [ [value]]` + +Omit `` and `` to list all the keys and values for a factoid. Specify ``, but omit `` to see the value for a specific key. + ### count To see how many factoids and what percentage of the database `` has submitted, use the `count` command. diff --git a/doc/Modules.md b/doc/Modules.md index 16403abd..89afa0b9 100644 --- a/doc/Modules.md +++ b/doc/Modules.md @@ -1,78 +1,78 @@ # Modules - * [About](#about) - * [Creating modules](#creating-modules) - * [Documentation for built-in modules](#documentation-for-built-in-modules) - * [cc](#cc) - * [Usage](#usage) - * [Supported Languages](#supported-languages) - * [Default Language](#default-language) - * [Disallowed system calls](#disallowed-system-calls) - * [Program termination with no output](#program-termination-with-no-output) - * [Abnormal program termination](#abnormal-program-termination) - * [C and C++ Functionality](#c-and-c-functionality) - * [Using the preprocessor](#using-the-preprocessor) - * [Default #includes](#default-includes) - * [Using #include](#using-include) - * [Using #define](#using-define) - * [main() Function Unnecessary](#main-function-unnecessary) - * [Embedding Newlines](#embedding-newlines) - * [Printing in binary/base2](#printing-in-binarybase2) - * [Using the GDB debugger](#using-the-gdb-debugger) - * [print](#print) - * [ptype](#ptype) - * [watch](#watch) - * [trace](#trace) - * [gdb](#gdb) - * [Interactive Editing](#interactive-editing) - * [copy](#copy) - * [show](#show) - * [diff](#diff) - * [paste](#paste) - * [run](#run) - * [undo](#undo) - * [s//](#s) - * [replace](#replace) - * [prepend](#prepend) - * [append](#append) - * [remove](#remove) - * [Some Examples](#some-examples) - * [english](#english) - * [expand](#expand) - * [prec](#prec) - * [paren](#paren) - * [faq](#faq) - * [cfact](#cfact) - * [cjeopardy](#cjeopardy) - * [hint](#hint) - * [what](#what) - * [w](#w) - * [filter](#filter) - * [score](#score) - * [rank](#rank) - * [reset](#reset) - * [qstats](#qstats) - * [qshow](#qshow) - * [c99std](#c99std) - * [c11std](#c11std) - * [man](#man) - * [google](#google) - * [define](#define) - * [dict](#dict) - * [foldoc](#foldoc) - * [vera](#vera) - * [udict](#udict) - * [wdict](#wdict) - * [acronym](#acronym) - * [math](#math) - * [calc](#calc) - * [qalc](#qalc) - * [compliment](#compliment) - * [insult](#insult) - * [excuse](#excuse) - * [horoscope](#horoscope) - * [quote](#quote) +* [About](#about) +* [Creating modules](#creating-modules) +* [Documentation for built-in modules](#documentation-for-built-in-modules) + * [cc](#cc) + * [Usage](#usage) + * [Supported Languages](#supported-languages) + * [Default Language](#default-language) + * [Disallowed system calls](#disallowed-system-calls) + * [Program termination with no output](#program-termination-with-no-output) + * [Abnormal program termination](#abnormal-program-termination) + * [C and C++ Functionality](#c-and-c-functionality) + * [Using the preprocessor](#using-the-preprocessor) + * [Default #includes](#default-includes) + * [Using #include](#using-include) + * [Using #define](#using-define) + * [main() Function Unnecessary](#main-function-unnecessary) + * [Embedding Newlines](#embedding-newlines) + * [Printing in binary/base2](#printing-in-binarybase2) + * [Using the GDB debugger](#using-the-gdb-debugger) + * [print](#print) + * [ptype](#ptype) + * [watch](#watch) + * [trace](#trace) + * [gdb](#gdb) + * [Interactive Editing](#interactive-editing) + * [copy](#copy) + * [show](#show) + * [diff](#diff) + * [paste](#paste) + * [run](#run) + * [undo](#undo) + * [s//](#s) + * [replace](#replace) + * [prepend](#prepend) + * [append](#append) + * [remove](#remove) + * [Some Examples](#some-examples) + * [english](#english) + * [expand](#expand) + * [prec](#prec) + * [paren](#paren) + * [faq](#faq) + * [cfact](#cfact) + * [cjeopardy](#cjeopardy) + * [hint](#hint) + * [what](#what) + * [w](#w) + * [filter](#filter) + * [score](#score) + * [rank](#rank) + * [reset](#reset) + * [qstats](#qstats) + * [qshow](#qshow) + * [c99std](#c99std) + * [c11std](#c11std) + * [man](#man) + * [google](#google) + * [define](#define) + * [dict](#dict) + * [foldoc](#foldoc) + * [vera](#vera) + * [udict](#udict) + * [wdict](#wdict) + * [acronym](#acronym) + * [math](#math) + * [calc](#calc) + * [qalc](#qalc) + * [compliment](#compliment) + * [insult](#insult) + * [excuse](#excuse) + * [horoscope](#horoscope) + * [quote](#quote) ## About diff --git a/doc/QuickStart.md b/doc/QuickStart.md index 99cbb4e8..c6f7d141 100644 --- a/doc/QuickStart.md +++ b/doc/QuickStart.md @@ -1,32 +1,32 @@ # QuickStart - * [Installation](#installation) - * [Installing Perl](#installing-perl) - * [Installing CPAN modules](#installing-cpan-modules) - * [Installing PBot](#installing-pbot) - * [git (recommended)](#git-recommended) - * [Download zip archive](#download-zip-archive) - * [First-time Configuration](#first-time-configuration) - * [Clone data-directory](#clone-data-directory) - * [Quick-start command](#quick-start-command) - * [Edit Registry](#edit-registry) - * [Recommended settings for IRC Networks](#recommended-settings-for-irc-networks) - * [Freenode](#freenode) - * [IRCnet](#ircnet) - * [Other networks](#other-networks) - * [Starting PBot](#starting-pbot) - * [Usage](#usage) - * [Overriding directories](#overriding-directories) - * [Overriding registry](#overriding-registry) - * [Additional Configuration](#additional-configuration) - * [Adding Channels](#adding-channels) - * [Adding Admins](#adding-admins) - * [Loading Plugins](#loading-plugins) - * [Further Reading](#further-reading) - * [Commands](#commands) - * [Factoids](#factoids) - * [Modules](#modules) +* [Installation](#installation) + * [Installing Perl](#installing-perl) + * [Installing CPAN modules](#installing-cpan-modules) + * [Installing PBot](#installing-pbot) + * [git (recommended)](#git-recommended) + * [Download zip archive](#download-zip-archive) +* [First-time Configuration](#first-time-configuration) + * [Clone data-directory](#clone-data-directory) + * [Quick-start command](#quick-start-command) + * [Edit Registry](#edit-registry) + * [Recommended settings for IRC Networks](#recommended-settings-for-irc-networks) + * [Freenode](#freenode) + * [IRCnet](#ircnet) + * [Other networks](#other-networks) +* [Starting PBot](#starting-pbot) + * [Usage](#usage) + * [Overriding directories](#overriding-directories) + * [Overriding registry](#overriding-registry) +* [Additional Configuration](#additional-configuration) + * [Adding Channels](#adding-channels) + * [Adding Admins](#adding-admins) + * [Loading Plugins](#loading-plugins) +* [Further Reading](#further-reading) + * [Commands](#commands) + * [Factoids](#factoids) + * [Modules](#modules) ## Installation diff --git a/doc/Quotegrabs.md b/doc/Quotegrabs.md index 380b9df2..6a3818e1 100644 --- a/doc/Quotegrabs.md +++ b/doc/Quotegrabs.md @@ -1,12 +1,12 @@ # Quotegrabs - * [About](#about) - * [Commands](#commands) - * [grab](#grab) - * [getq](#getq) - * [rq](#rq) - * [delq](#delq) +* [About](#about) +* [Commands](#commands) + * [grab](#grab) + * [getq](#getq) + * [rq](#rq) + * [delq](#delq) ## About diff --git a/doc/Registry.md b/doc/Registry.md index 72672745..b6efa2db 100644 --- a/doc/Registry.md +++ b/doc/Registry.md @@ -1,23 +1,23 @@ # Registry - * [About](#about) - * [Types of values](#types-of-values) - * [Creating array values](#creating-array-values) - * [Overriding Registry values per-channel](#overriding-registry-values-per-channel) - * [Overriding Registry values via command-line](#overriding-registry-values-via-command-line) - * [Registry commands](#registry-commands) - * [regset](#regset) - * [regunset](#regunset) - * [regchange](#regchange) - * [regshow](#regshow) - * [regfind](#regfind) - * [regsetmeta](#regsetmeta) - * [regunsetmeta](#regunsetmeta) - * [Editing Registry file](#editing-registry-file) - * [Metadata list](#metadata-list) - * [List of known Registry items](#list-of-known-registry-items) - * [Channel-specific Registry items](#channel-specific-registry-items) +* [About](#about) + * [Types of values](#types-of-values) + * [Creating array values](#creating-array-values) + * [Overriding Registry values per-channel](#overriding-registry-values-per-channel) +* [Overriding Registry values via command-line](#overriding-registry-values-via-command-line) +* [Registry commands](#registry-commands) + * [regset](#regset) + * [regunset](#regunset) + * [regchange](#regchange) + * [regshow](#regshow) + * [regfind](#regfind) + * [regsetmeta](#regsetmeta) + * [regunsetmeta](#regunsetmeta) +* [Editing Registry file](#editing-registry-file) +* [Metadata list](#metadata-list) +* [List of known Registry items](#list-of-known-registry-items) + * [Channel-specific Registry items](#channel-specific-registry-items) ## About