diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 00000000..7c9f6a7c --- /dev/null +++ b/doc/README.md @@ -0,0 +1,274 @@ +# PBot Documentation + +## Table of Contents + + +* [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) + + +* [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) + + +* [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) + + +* [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) + + +* [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) + + +* [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) + + +* [PBot Documentation](README.md#pbot-documentation) + * [Table of Contents](README.md#table-of-contents) + + +* [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) + + +* [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) +