3
0
mirror of https://github.com/pragma-/pbot.git synced 2025-06-09 16:27:31 +02:00

fixed

ChanSolv 2020-01-21 03:05:58 +01:00
parent 6c4531d5bf
commit d194fb5272

@ -1,270 +1,432 @@
# PBot Documentation
</a>Table of Contents</h2>
## Table of Contents
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#quickstart">QuickStart</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#installation">Installation</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#installing-perl">Installing Perl</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#installing-cpan-modules">Installing CPAN modules</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#installing-pbot">Installing PBot</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#git-recommended">git (recommended)</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#download-zip-archive">Download zip archive</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#first-time-configuration">First-time Configuration</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#clone-data-directory">Clone data-directory</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#quick-start-command">Quick-start command</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#edit-registry">Edit Registry</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#recommended-settings-for-irc-networks">Recommended settings for IRC Networks</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#freenode">Freenode</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#ircnet">IRCnet</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#other-networks">Other networks</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#starting-pbot">Starting PBot</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#usage">Usage</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#overriding-directories">Overriding directories</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#overriding-registry">Overriding registry</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#additional-configuration">Additional Configuration</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#adding-channels">Adding Channels</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#adding-admins">Adding Admins</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#loading-plugins">Loading Plugins</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#further-reading">Further Reading</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#commands">Commands</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#factoids">Factoids</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/QuickStart.md#modules">Modules</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<!-- md-toc-begin -->
* [QuickStart](QuickStart.md#quickstart)
* [Installation](QuickStart.md#installation)
* [Installing Perl](QuickStart.md#installing-perl)
* [Installing CPAN modules](QuickStart.md#installing-cpan-modules)
* [Installing PBot](QuickStart.md#installing-pbot)
* [git (recommended)](QuickStart.md#git-recommended)
* [Download zip archive](QuickStart.md#download-zip-archive)
* [First-time Configuration](QuickStart.md#first-time-configuration)
* [Clone data-directory](QuickStart.md#clone-data-directory)
* [Quick-start command](QuickStart.md#quick-start-command)
* [Edit Registry](QuickStart.md#edit-registry)
* [Recommended settings for IRC Networks](QuickStart.md#recommended-settings-for-irc-networks)
* [Freenode](QuickStart.md#freenode)
* [IRCnet](QuickStart.md#ircnet)
* [Other networks](QuickStart.md#other-networks)
* [Starting PBot](QuickStart.md#starting-pbot)
* [Usage](QuickStart.md#usage)
* [Overriding directories](QuickStart.md#overriding-directories)
* [Overriding registry](QuickStart.md#overriding-registry)
* [Additional Configuration](QuickStart.md#additional-configuration)
* [Adding Channels](QuickStart.md#adding-channels)
* [Adding Admins](QuickStart.md#adding-admins)
* [Loading Plugins](QuickStart.md#loading-plugins)
* [Further Reading](QuickStart.md#further-reading)
* [Commands](QuickStart.md#commands)
* [Factoids](QuickStart.md#factoids)
* [Modules](QuickStart.md#modules)
<!-- md-toc-end -->
<!-- md-toc-begin -->
* [Administrative](Admin.md#administrative)
* [Logging in and out](Admin.md#logging-in-and-out)
* [login](Admin.md#login)
* [logout](Admin.md#logout)
* [Admin management commands](Admin.md#admin-management-commands)
* [adminadd](Admin.md#adminadd)
* [adminrem](Admin.md#adminrem)
* [Admin levels](Admin.md#admin-levels)
* [adminset](Admin.md#adminset)
* [adminunset](Admin.md#adminunset)
* [Admin metadata list](Admin.md#admin-metadata-list)
* [Listing admins](Admin.md#listing-admins)
* [Channel management commands](Admin.md#channel-management-commands)
* [join](Admin.md#join)
* [part](Admin.md#part)
* [chanadd](Admin.md#chanadd)
* [chanrem](Admin.md#chanrem)
* [chanset](Admin.md#chanset)
* [chanunset](Admin.md#chanunset)
* [chanlist](Admin.md#chanlist)
* [Channel metadata list](Admin.md#channel-metadata-list)
* [ignore](Admin.md#ignore)
* [unignore](Admin.md#unignore)
* [whitelist](Admin.md#whitelist)
* [blacklist](Admin.md#blacklist)
* [op](Admin.md#op)
* [deop](Admin.md#deop)
* [voice](Admin.md#voice)
* [devoice](Admin.md#devoice)
* [mode](Admin.md#mode)
* [ban/mute](Admin.md#banmute)
* [unban/unmute](Admin.md#unbanunmute)
* [invite](Admin.md#invite)
* [kick](Admin.md#kick)
* [Module management commands](Admin.md#module-management-commands)
* [load](Admin.md#load)
* [unload](Admin.md#unload)
* [Plugin management commands](Admin.md#plugin-management-commands)
* [plug](Admin.md#plug)
* [unplug](Admin.md#unplug)
* [replug](Admin.md#replug)
* [pluglist](Admin.md#pluglist)
* [Miscellaneous commands](Admin.md#miscellaneous-commands)
* [export](Admin.md#export)
* [refresh](Admin.md#refresh)
* [reload](Admin.md#reload)
* [sl](Admin.md#sl)
* [die](Admin.md#die)
<!-- md-toc-end -->
<!-- md-toc-begin -->
* [Factoids](Factoids.md#factoids)
* [About](Factoids.md#about)
* [Channel namespaces](Factoids.md#channel-namespaces)
* [Special commands](Factoids.md#special-commands)
* [/say](Factoids.md#say)
* [/me](Factoids.md#me)
* [/call](Factoids.md#call)
* [/msg](Factoids.md#msg)
* [/code](Factoids.md#code)
* [Supported languages](Factoids.md#supported-languages)
* [Special variables](Factoids.md#special-variables)
* [testargs example](Factoids.md#testargs-example)
* [Setting a usage message](Factoids.md#setting-a-usage-message)
* [poll/vote example](Factoids.md#pollvote-example)
* [SpongeBob Mock meme example](Factoids.md#spongebob-mock-meme-example)
* [Using command-piping](Factoids.md#using-command-piping)
* [Improving SpongeBob Mock meme](Factoids.md#improving-spongebob-mock-meme)
* [Formatting and editing lengthy Code Factoids](Factoids.md#formatting-and-editing-lengthy-code-factoids)
* [Special variables](Factoids.md#special-variables-1)
* [$args](Factoids.md#args)
* [$arg[n]](Factoids.md#argn)
* [$arg[n:m]](Factoids.md#argnm)
* [$arglen](Factoids.md#arglen)
* [$channel](Factoids.md#channel)
* [$nick](Factoids.md#nick)
* [$randomnick](Factoids.md#randomnick)
* [$0](Factoids.md#0)
* [List variables](Factoids.md#list-variables)
* [Expansion modifiers](Factoids.md#expansion-modifiers)
* [action_with_args](Factoids.md#action_with_args)
* [add_nick](Factoids.md#add_nick)
* [Adding a factoid](Factoids.md#adding-a-factoid)
* [factadd](Factoids.md#factadd)
* [Viewing/triggering a factoid](Factoids.md#viewingtriggering-a-factoid)
* [Viewing/triggering another channel's factoid](Factoids.md#viewingtriggering-another-channels-factoid)
* [fact](Factoids.md#fact)
* [Deleting a factoid](Factoids.md#deleting-a-factoid)
* [factrem](Factoids.md#factrem)
* [forget](Factoids.md#forget)
* [Aliasing a factoid](Factoids.md#aliasing-a-factoid)
* [factalias](Factoids.md#factalias)
* [Moving/renaming a factoid](Factoids.md#movingrenaming-a-factoid)
* [factmove](Factoids.md#factmove)
* [Changing a factoid](Factoids.md#changing-a-factoid)
* [factchange](Factoids.md#factchange)
* [factundo](Factoids.md#factundo)
* [factredo](Factoids.md#factredo)
* [Factoid Metadata](Factoids.md#factoid-metadata)
* [factset](Factoids.md#factset)
* [factunset](Factoids.md#factunset)
* [Factoid Metadata List](Factoids.md#factoid-metadata-list)
* [Finding a factoid](Factoids.md#finding-a-factoid)
* [factfind](Factoids.md#factfind)
* [Information about a factoid](Factoids.md#information-about-a-factoid)
* [factinfo](Factoids.md#factinfo)
* [factshow](Factoids.md#factshow)
* [factset](Factoids.md#factset-1)
* [factlog](Factoids.md#factlog)
* [count](Factoids.md#count)
* [histogram](Factoids.md#histogram)
* [top20](Factoids.md#top20)
<!-- md-toc-end -->
<!-- md-toc-begin -->
* [Registry](Registry.md#registry)
* [About](Registry.md#about)
* [Types of values](Registry.md#types-of-values)
* [Creating array values](Registry.md#creating-array-values)
* [Overriding Registry values per-channel](Registry.md#overriding-registry-values-per-channel)
* [Overriding Registry values via command-line](Registry.md#overriding-registry-values-via-command-line)
* [Registry commands](Registry.md#registry-commands)
* [regset](Registry.md#regset)
* [regunset](Registry.md#regunset)
* [regchange](Registry.md#regchange)
* [regshow](Registry.md#regshow)
* [regfind](Registry.md#regfind)
* [regsetmeta](Registry.md#regsetmeta)
* [regunsetmeta](Registry.md#regunsetmeta)
* [Editing Registry file](Registry.md#editing-registry-file)
* [Metadata list](Registry.md#metadata-list)
* [List of known Registry items](Registry.md#list-of-known-registry-items)
* [Channel-specific Registry items](Registry.md#channel-specific-registry-items)
<!-- md-toc-end -->
<!-- md-toc-begin -->
* [Modules](Modules.md#modules)
* [About](Modules.md#about)
* [Creating modules](Modules.md#creating-modules)
* [Documentation for built-in modules](Modules.md#documentation-for-built-in-modules)
* [cc](Modules.md#cc)
* [Usage](Modules.md#usage)
* [Supported Languages](Modules.md#supported-languages)
* [Default Language](Modules.md#default-language)
* [Disallowed system calls](Modules.md#disallowed-system-calls)
* [Program termination with no output](Modules.md#program-termination-with-no-output)
* [Abnormal program termination](Modules.md#abnormal-program-termination)
* [C and C++ Functionality](Modules.md#c-and-c-functionality)
* [Using the preprocessor](Modules.md#using-the-preprocessor)
* [Default #includes](Modules.md#default-includes)
* [Using #include](Modules.md#using-include)
* [Using #define](Modules.md#using-define)
* [main() Function Unnecessary](Modules.md#main-function-unnecessary)
* [Embedding Newlines](Modules.md#embedding-newlines)
* [Printing in binary/base2](Modules.md#printing-in-binarybase2)
* [Using the GDB debugger](Modules.md#using-the-gdb-debugger)
* [print](Modules.md#print)
* [ptype](Modules.md#ptype)
* [watch](Modules.md#watch)
* [trace](Modules.md#trace)
* [gdb](Modules.md#gdb)
* [Interactive Editing](Modules.md#interactive-editing)
* [copy](Modules.md#copy)
* [show](Modules.md#show)
* [diff](Modules.md#diff)
* [paste](Modules.md#paste)
* [run](Modules.md#run)
* [undo](Modules.md#undo)
* [s//](Modules.md#s)
* [replace](Modules.md#replace)
* [prepend](Modules.md#prepend)
* [append](Modules.md#append)
* [remove](Modules.md#remove)
* [Some Examples](Modules.md#some-examples)
* [english](Modules.md#english)
* [expand](Modules.md#expand)
* [prec](Modules.md#prec)
* [paren](Modules.md#paren)
* [faq](Modules.md#faq)
* [cfact](Modules.md#cfact)
* [cjeopardy](Modules.md#cjeopardy)
* [hint](Modules.md#hint)
* [what](Modules.md#what)
* [w](Modules.md#w)
* [filter](Modules.md#filter)
* [score](Modules.md#score)
* [rank](Modules.md#rank)
* [reset](Modules.md#reset)
* [qstats](Modules.md#qstats)
* [qshow](Modules.md#qshow)
* [c99std](Modules.md#c99std)
* [c11std](Modules.md#c11std)
* [man](Modules.md#man)
* [google](Modules.md#google)
* [define](Modules.md#define)
* [dict](Modules.md#dict)
* [foldoc](Modules.md#foldoc)
* [vera](Modules.md#vera)
* [udict](Modules.md#udict)
* [wdict](Modules.md#wdict)
* [acronym](Modules.md#acronym)
* [math](Modules.md#math)
* [calc](Modules.md#calc)
* [qalc](Modules.md#qalc)
* [compliment](Modules.md#compliment)
* [insult](Modules.md#insult)
* [excuse](Modules.md#excuse)
* [horoscope](Modules.md#horoscope)
* [quote](Modules.md#quote)
<!-- md-toc-end -->
<!-- md-toc-begin -->
* [Quotegrabs](Quotegrabs.md#quotegrabs)
* [About](Quotegrabs.md#about)
* [Commands](Quotegrabs.md#commands)
* [grab](Quotegrabs.md#grab)
* [getq](Quotegrabs.md#getq)
* [rq](Quotegrabs.md#rq)
* [delq](Quotegrabs.md#delq)
<!-- md-toc-end -->
<!-- md-toc-begin -->
* [Anti-Abuse](AntiAbuse.md#anti-abuse)
* [Flood control](AntiAbuse.md#flood-control)
* [Message flood](AntiAbuse.md#message-flood)
* [Join flood](AntiAbuse.md#join-flood)
* [Enter key abuse](AntiAbuse.md#enter-key-abuse)
* [Nick flood](AntiAbuse.md#nick-flood)
* [Anti-away/Nick-control](AntiAbuse.md#anti-awaynick-control)
* [Anti-auto-rejoin control](AntiAbuse.md#anti-auto-rejoin-control)
* [Opping/Deopping](AntiAbuse.md#oppingdeopping)
<!-- md-toc-end -->
<!-- md-toc-begin -->
* [Virtual Machine](VirtualMachine.md#virtual-machine)
* [About](VirtualMachine.md#about)
* [Creating a new virtual machine](VirtualMachine.md#creating-a-new-virtual-machine)
* [Configuring the virtual machine](VirtualMachine.md#configuring-the-virtual-machine)
* [Installing Linux in the virtual machine](VirtualMachine.md#installing-linux-in-the-virtual-machine)
* [Configuring Linux for PBot Communication](VirtualMachine.md#configuring-linux-for-pbot-communication)
* [Hardening the PBot virtual machine](VirtualMachine.md#hardening-the-pbot-virtual-machine)
<!-- md-toc-end -->
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#administrative">Administrative</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#logging-in-and-out">Logging in and out</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#login">login</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#logout">logout</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#admin-management-commands">Admin management commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#adminadd">adminadd</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#adminrem">adminrem</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#admin-levels">Admin levels</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#adminset">adminset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#adminunset">adminunset</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#admin-metadata-list">Admin metadata list</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#listing-admins">Listing admins</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#channel-management-commands">Channel management commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#join">join</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#part">part</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#chanadd">chanadd</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#chanrem">chanrem</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#chanset">chanset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#chanunset">chanunset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#chanlist">chanlist</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#channel-metadata-list">Channel metadata list</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#ignore">ignore</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#unignore">unignore</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#whitelist">whitelist</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#blacklist">blacklist</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#op">op</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#deop">deop</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#voice">voice</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#devoice">devoice</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#mode">mode</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#banmute">ban/mute</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#unbanunmute">unban/unmute</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#invite">invite</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#kick">kick</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#module-management-commands">Module management commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#load">load</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#unload">unload</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#plugin-management-commands">Plugin management commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#plug">plug</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#unplug">unplug</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#replug">replug</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#pluglist">pluglist</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#miscellaneous-commands">Miscellaneous commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#export">export</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#refresh">refresh</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#reload">reload</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#sl">sl</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Admin.md#die">die</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factoids">Factoids</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#about">About</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#channel-namespaces">Channel namespaces</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#special-commands">Special commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#say">/say</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#me">/me</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#call">/call</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#msg">/msg</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#code">/code</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#supported-languages">Supported languages</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#special-variables">Special variables</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#testargs-example">testargs example</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#setting-a-usage-message">Setting a usage message</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#pollvote-example">poll/vote example</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#spongebob-mock-meme-example">SpongeBob Mock meme example</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#using-command-piping">Using command-piping</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#improving-spongebob-mock-meme">Improving SpongeBob Mock meme</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#formatting-and-editing-lengthy-code-factoids">Formatting and editing lengthy Code Factoids</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#special-variables-1">Special variables</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#args">$args</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#argn">$arg[n]</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#argnm">$arg[n:m]</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#arglen">$arglen</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#channel">$channel</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#nick">$nick</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#randomnick">$randomnick</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#0">$0</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#list-variables">List variables</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#expansion-modifiers">Expansion modifiers</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#action_with_args">action_with_args</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#add_nick">add_nick</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#adding-a-factoid">Adding a factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factadd">factadd</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#viewingtriggering-a-factoid">Viewing/triggering a factoid</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#viewingtriggering-another-channels-factoid">Viewing/triggering another channel's factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#fact">fact</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#deleting-a-factoid">Deleting a factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factrem">factrem</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#forget">forget</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#aliasing-a-factoid">Aliasing a factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factalias">factalias</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#movingrenaming-a-factoid">Moving/renaming a factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factmove">factmove</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#changing-a-factoid">Changing a factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factchange">factchange</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factundo">factundo</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factredo">factredo</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factoid-metadata">Factoid Metadata</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factset">factset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factunset">factunset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factoid-metadata-list">Factoid Metadata List</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#finding-a-factoid">Finding a factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factfind">factfind</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#information-about-a-factoid">Information about a factoid</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factinfo">factinfo</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factshow">factshow</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factset-1">factset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#factlog">factlog</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#count">count</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#histogram">histogram</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Factoids.md#top20">top20</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#registry">Registry</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#about">About</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#types-of-values">Types of values</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#creating-array-values">Creating array values</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#overriding-registry-values-per-channel">Overriding Registry values per-channel</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#overriding-registry-values-via-command-line">Overriding Registry values via command-line</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#registry-commands">Registry commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#regset">regset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#regunset">regunset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#regchange">regchange</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#regshow">regshow</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#regfind">regfind</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#regsetmeta">regsetmeta</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#regunsetmeta">regunsetmeta</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#editing-registry-file">Editing Registry file</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#metadata-list">Metadata list</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#list-of-known-registry-items">List of known Registry items</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Registry.md#channel-specific-registry-items">Channel-specific Registry items</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#modules">Modules</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#about">About</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#creating-modules">Creating modules</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#documentation-for-built-in-modules">Documentation for built-in modules</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#cc">cc</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#usage">Usage</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#supported-languages">Supported Languages</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#default-language">Default Language</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#disallowed-system-calls">Disallowed system calls</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#program-termination-with-no-output">Program termination with no output</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#abnormal-program-termination">Abnormal program termination</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#c-and-c-functionality">C and C++ Functionality</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#using-the-preprocessor">Using the preprocessor</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#default-includes">Default #includes</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#using-include">Using #include</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#using-define">Using #define</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#main-function-unnecessary">main() Function Unnecessary</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#embedding-newlines">Embedding Newlines</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#printing-in-binarybase2">Printing in binary/base2</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#using-the-gdb-debugger">Using the GDB debugger</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#print">print</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#ptype">ptype</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#watch">watch</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#trace">trace</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#gdb">gdb</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#interactive-editing">Interactive Editing</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#copy">copy</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#show">show</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#diff">diff</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#paste">paste</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#run">run</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#undo">undo</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#s">s//</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#replace">replace</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#prepend">prepend</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#append">append</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#remove">remove</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#some-examples">Some Examples</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#english">english</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#expand">expand</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#prec">prec</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#paren">paren</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#faq">faq</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#cfact">cfact</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#cjeopardy">cjeopardy</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#hint">hint</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#what">what</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#w">w</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#filter">filter</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#score">score</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#rank">rank</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#reset">reset</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#qstats">qstats</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#qshow">qshow</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#c99std">c99std</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#c11std">c11std</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#man">man</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#google">google</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#define">define</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#dict">dict</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#foldoc">foldoc</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#vera">vera</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#udict">udict</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#wdict">wdict</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#acronym">acronym</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#math">math</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#calc">calc</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#qalc">qalc</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#compliment">compliment</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#insult">insult</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#excuse">excuse</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#horoscope">horoscope</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Modules.md#quote">quote</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Quotegrabs.md#quotegrabs">Quotegrabs</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Quotegrabs.md#about">About</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Quotegrabs.md#commands">Commands</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/Quotegrabs.md#grab">grab</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Quotegrabs.md#getq">getq</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Quotegrabs.md#rq">rq</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/Quotegrabs.md#delq">delq</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#anti-abuse">Anti-Abuse</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#flood-control">Flood control</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#message-flood">Message flood</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#join-flood">Join flood</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#enter-key-abuse">Enter key abuse</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#nick-flood">Nick flood</a></li>
</ul>
</li>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#anti-awaynick-control">Anti-away/Nick-control</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#anti-auto-rejoin-control">Anti-auto-rejoin control</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/AntiAbuse.md#oppingdeopping">Opping/Deopping</a></li>
</ul>
</li>
</ul>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/VirtualMachine.md#virtual-machine">Virtual Machine</a>
<ul>
<li><a href="/pragma-/pbot/blob/master/doc/VirtualMachine.md#about">About</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/VirtualMachine.md#creating-a-new-virtual-machine">Creating a new virtual machine</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/VirtualMachine.md#configuring-the-virtual-machine">Configuring the virtual machine</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/VirtualMachine.md#installing-linux-in-the-virtual-machine">Installing Linux in the virtual machine</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/VirtualMachine.md#configuring-linux-for-pbot-communication">Configuring Linux for PBot Communication</a></li>
<li><a href="/pragma-/pbot/blob/master/doc/VirtualMachine.md#hardening-the-pbot-virtual-machine">Hardening the PBot virtual machine</a></li>
</ul>
</li>
</ul>