mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-29 23:39:24 +01:00
1287 lines
96 KiB
HTML
Executable File
1287 lines
96 KiB
HTML
Executable File
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html dir="ltr" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
|
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta name="keywords" content="PBot,Category IRC">
|
|
<link rel="shortcut icon" href="http://www.iso-9899.info/favicon.ico">
|
|
<link rel="search" type="application/opensearchdescription+xml" href="http://www.iso-9899.info/wiki/opensearch_desc.php" title="C (English)">
|
|
<title>PBot - C</title>
|
|
<style type="text/css" media="screen, projection">/*<![CDATA[*/
|
|
@import "/wiki/skins/common/shared.css?97";
|
|
@import "/wiki/skins/monobook/main.css?97";
|
|
/*]]>*/</style>
|
|
<link rel="styleitet" type="text/css" media="print" href="PBot_files/commonPrint.css">
|
|
<!--[if lt IE 5.5000]><style type="text/css">@import "/wiki/skins/monobook/IE50Fixes.css?97";</style><![endif]-->
|
|
<!--[if IE 5.5000]><style type="text/css">@import "/wiki/skins/monobook/IE55Fixes.css?97";</style><![endif]-->
|
|
<!--[if IE 6]><style type="text/css">@import "/wiki/skins/monobook/IE60Fixes.css?97";</style><![endif]-->
|
|
<!--[if IE 7]><style type="text/css">@import "/wiki/skins/monobook/IE70Fixes.css?97";</style><![endif]-->
|
|
<!--[if lt IE 7]><script type="text/javascript" src="/wiki/skins/common/IEFixes.js?97"></script>
|
|
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
|
|
|
|
<script type="text/javascript">/*<![CDATA[*/
|
|
var skin = "monobook";
|
|
var stylepath = "/wiki/skins";
|
|
var wgArticlePath = "/wiki/$1";
|
|
var wgScriptPath = "/wiki";
|
|
var wgScript = "/wiki";
|
|
var wgServer = "http://www.iso-9899.info";
|
|
var wgCanonicalNamespace = "";
|
|
var wgCanonicalSpecialPageName = false;
|
|
var wgNamespaceNumber = 0;
|
|
var wgPageName = "PBot";
|
|
var wgTitle = "PBot";
|
|
var wgAction = "view";
|
|
var wgRestrictionEdit = ["sysop"];
|
|
var wgRestrictionMove = ["sysop"];
|
|
var wgArticleId = "935";
|
|
var wgIsArticle = true;
|
|
var wgUserName = "Pragma";
|
|
var wgUserGroups = ["sysop", "*", "user", "autoconfirmed"];
|
|
var wgUserLanguage = "en";
|
|
var wgContentLanguage = "en";
|
|
var wgBreakFrames = false;
|
|
var wgCurRevisionId = "8675";
|
|
var wgAjaxWatch = {"watchMsg": "Watch", "unwatchMsg": "Unwatch", "watchingMsg": "Watching...", "unwatchingMsg": "Unwatching..."};
|
|
/*]]>*/</script>
|
|
|
|
<script type="text/javascript" src="PBot_files/wikibits.js"><!-- wikibits js --></script>
|
|
<script type="text/javascript" src="PBot_files/wiki"><!-- site js --></script>
|
|
<style type="text/css">/*<![CDATA[*/
|
|
@import "/wiki?title=MediaWiki:Common.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
|
|
@import "/wiki?title=MediaWiki:Monobook.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
|
|
@import "/wiki?title=-&action=raw&gen=css&maxage=18000&smaxage=0";
|
|
/*]]>*/</style>
|
|
<!-- Head Scripts -->
|
|
<script type="text/javascript" src="PBot_files/ajax.js"></script>
|
|
<script type="text/javascript" src="PBot_files/ajaxwatch.js"></script>
|
|
</head><body class="mediawiki ns-0 ltr page-PBot">
|
|
<div id="globalWrapper">
|
|
<div id="column-content">
|
|
<div id="content">
|
|
<a name="top" id="top"></a>
|
|
<h1 class="firstHeading">PBot</h1>
|
|
<div id="bodyContent">
|
|
<h3 id="siteSub">From C</h3>
|
|
<div id="contentSub"></div>
|
|
<!-- start content -->
|
|
<table id="toc" class="toc" summary="Contents"><tbody><tr><td><div id="toctitle"><h2>Contents</h2></div>
|
|
<ul>
|
|
<li class="toclevel-1"><a href="#PBot"><span class="tocnumber">1</span> <span class="toctext">PBot</span></a>
|
|
<ul>
|
|
<li class="toclevel-2"><a href="#About_PBot"><span class="tocnumber">1.1</span> <span class="toctext">About PBot</span></a></li>
|
|
<li class="toclevel-2"><a href="#Source"><span class="tocnumber">1.2</span> <span class="toctext">Source</span></a></li>
|
|
<li class="toclevel-2"><a href="#Directing_output_to_a_user"><span class="tocnumber">1.3</span> <span class="toctext">Directing output to a user</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-1"><a href="#Factoids"><span class="tocnumber">2</span> <span class="toctext">Factoids</span></a>
|
|
<ul>
|
|
<li class="toclevel-2"><a href="#List_of_factoids"><span class="tocnumber">2.1</span> <span class="toctext">List of factoids</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#Channel_namespaces"><span class="tocnumber">2.1.1</span> <span class="toctext">Channel namespaces</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Adding_a_factoid"><span class="tocnumber">2.2</span> <span class="toctext">Adding a factoid</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#factadd"><span class="tocnumber">2.2.1</span> <span class="toctext">factadd</span></a></li>
|
|
<li class="toclevel-3"><a href="#Special_commands"><span class="tocnumber">2.2.2</span> <span class="toctext">Special commands</span></a>
|
|
<ul>
|
|
<li class="toclevel-4"><a href="#.2Fsay"><span class="tocnumber">2.2.2.1</span> <span class="toctext">/say</span></a></li>
|
|
<li class="toclevel-4"><a href="#.2Fme"><span class="tocnumber">2.2.2.2</span> <span class="toctext">/me</span></a></li>
|
|
<li class="toclevel-4"><a href="#.2Fcall"><span class="tocnumber">2.2.2.3</span> <span class="toctext">/call</span></a></li>
|
|
<li class="toclevel-4"><a href="#.2Fmsg"><span class="tocnumber">2.2.2.4</span> <span class="toctext">/msg</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-3"><a href="#Special_variables"><span class="tocnumber">2.2.3</span> <span class="toctext">Special variables</span></a>
|
|
<ul>
|
|
<li class="toclevel-4"><a href="#.24nick"><span class="tocnumber">2.2.3.1</span> <span class="toctext">$nick</span></a></li>
|
|
<li class="toclevel-4"><a href="#.24args"><span class="tocnumber">2.2.3.2</span> <span class="toctext">$args</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-3"><a href="#adlib_list_variables"><span class="tocnumber">2.2.4</span> <span class="toctext">adlib list variables</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Deleting_a_factoid"><span class="tocnumber">2.3</span> <span class="toctext">Deleting a factoid</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#factrem"><span class="tocnumber">2.3.1</span> <span class="toctext">factrem</span></a></li>
|
|
<li class="toclevel-3"><a href="#forget"><span class="tocnumber">2.3.2</span> <span class="toctext">forget</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Viewing.2Ftriggering_a_factoid"><span class="tocnumber">2.4</span> <span class="toctext">Viewing/triggering a factoid</span></a></li>
|
|
<li class="toclevel-2"><a href="#Viewing.2Ftriggering_anotits_channel.27s_factoid"><span class="tocnumber">2.5</span> <span class="toctext">Viewing/triggering anotits channel's factoid</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#fact"><span class="tocnumber">2.5.1</span> <span class="toctext">fact</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Aliasing_a_factoid"><span class="tocnumber">2.6</span> <span class="toctext">Aliasing a factoid</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#factalias"><span class="tocnumber">2.6.1</span> <span class="toctext">factalias</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Changing_a_factoid"><span class="tocnumber">2.7</span> <span class="toctext">Changing a factoid</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#factchange"><span class="tocnumber">2.7.1</span> <span class="toctext">factchange</span></a></li>
|
|
<li class="toclevel-3"><a href="#factset"><span class="tocnumber">2.7.2</span> <span class="toctext">factset</span></a></li>
|
|
<li class="toclevel-3"><a href="#factunset"><span class="tocnumber">2.7.3</span> <span class="toctext">factunset</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Finding_a_factoid"><span class="tocnumber">2.8</span> <span class="toctext">Finding a factoid</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#factfind"><span class="tocnumber">2.8.1</span> <span class="toctext">factfind</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Information_about_a_factoid"><span class="tocnumber">2.9</span> <span class="toctext">Information about a factoid</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#factinfo"><span class="tocnumber">2.9.1</span> <span class="toctext">factinfo</span></a></li>
|
|
<li class="toclevel-3"><a href="#factshow"><span class="tocnumber">2.9.2</span> <span class="toctext">factshow</span></a></li>
|
|
<li class="toclevel-3"><a href="#factset_2"><span class="tocnumber">2.9.3</span> <span class="toctext">factset</span></a></li>
|
|
<li class="toclevel-3"><a href="#count"><span class="tocnumber">2.9.4</span> <span class="toctext">count</span></a></li>
|
|
<li class="toclevel-3"><a href="#histogram"><span class="tocnumber">2.9.5</span> <span class="toctext">histogram</span></a></li>
|
|
<li class="toclevel-3"><a href="#top10"><span class="tocnumber">2.9.6</span> <span class="toctext">top10</span></a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-1"><a href="#Commands"><span class="tocnumber">3</span> <span class="toctext">Commands</span></a>
|
|
<ul>
|
|
<li class="toclevel-2"><a href="#Quotegrabs"><span class="tocnumber">3.1</span> <span class="toctext">Quotegrabs</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#Table_of_quotegrabs"><span class="tocnumber">3.1.1</span> <span class="toctext">Table of quotegrabs</span></a></li>
|
|
<li class="toclevel-3"><a href="#grab"><span class="tocnumber">3.1.2</span> <span class="toctext">grab</span></a></li>
|
|
<li class="toclevel-3"><a href="#getq"><span class="tocnumber">3.1.3</span> <span class="toctext">getq</span></a></li>
|
|
<li class="toclevel-3"><a href="#rq"><span class="tocnumber">3.1.4</span> <span class="toctext">rq</span></a></li>
|
|
<li class="toclevel-3"><a href="#delq"><span class="tocnumber">3.1.5</span> <span class="toctext">delq</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Modules"><span class="tocnumber">3.2</span> <span class="toctext">Modules</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#cc"><span class="tocnumber">3.2.1</span> <span class="toctext">cc</span></a>
|
|
<ul>
|
|
<li class="toclevel-4"><a href="#Usage"><span class="tocnumber">3.2.1.1</span> <span class="toctext">Usage</span></a></li>
|
|
<li class="toclevel-4"><a href="#Supported_Languages"><span class="tocnumber">3.2.1.2</span> <span class="toctext">Supported Languages</span></a></li>
|
|
<li class="toclevel-4"><a href="#Default_Language"><span class="tocnumber">3.2.1.3</span> <span class="toctext">Default Language</span></a></li>
|
|
<li class="toclevel-4"><a href="#C_and_C.2B.2B_Functionality"><span class="tocnumber">3.2.1.4</span> <span class="toctext">C and C++ Functionality</span></a>
|
|
<ul>
|
|
<li class="toclevel-5"><a href="#main.28.29_Function_Unnecessary"><span class="tocnumber">3.2.1.4.1</span> <span class="toctext">main() Function Unnecessary</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-4"><a href="#Debugger_output"><span class="tocnumber">3.2.1.5</span> <span class="toctext">Debugger output</span></a></li>
|
|
<li class="toclevel-4"><a href="#Embedding_Newlines"><span class="tocnumber">3.2.1.6</span> <span class="toctext">Embedding Newlines</span></a></li>
|
|
<li class="toclevel-4"><a href="#Interactive_Editing"><span class="tocnumber">3.2.1.7</span> <span class="toctext">Interactive Editing</span></a>
|
|
<ul>
|
|
<li class="toclevel-5"><a href="#show"><span class="tocnumber">3.2.1.7.1</span> <span class="toctext">show</span></a></li>
|
|
<li class="toclevel-5"><a href="#paste"><span class="tocnumber">3.2.1.7.2</span> <span class="toctext">paste</span></a></li>
|
|
<li class="toclevel-5"><a href="#run"><span class="tocnumber">3.2.1.7.3</span> <span class="toctext">run</span></a></li>
|
|
<li class="toclevel-5"><a href="#undo"><span class="tocnumber">3.2.1.7.4</span> <span class="toctext">undo</span></a></li>
|
|
<li class="toclevel-5"><a href="#s.2F.2F"><span class="tocnumber">3.2.1.7.5</span> <span class="toctext">s//</span></a></li>
|
|
<li class="toclevel-5"><a href="#replace"><span class="tocnumber">3.2.1.7.6</span> <span class="toctext">replace</span></a></li>
|
|
<li class="toclevel-5"><a href="#append"><span class="tocnumber">3.2.1.7.7</span> <span class="toctext">append</span></a></li>
|
|
<li class="toclevel-5"><a href="#prepend"><span class="tocnumber">3.2.1.7.8</span> <span class="toctext">prepend</span></a></li>
|
|
<li class="toclevel-5"><a href="#remove"><span class="tocnumber">3.2.1.7.9</span> <span class="toctext">remove</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-4"><a href="#Some_Examples"><span class="tocnumber">3.2.1.8</span> <span class="toctext">Some Examples</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-3"><a href="#cc2"><span class="tocnumber">3.2.2</span> <span class="toctext">cc2</span></a>
|
|
<ul>
|
|
<li class="toclevel-4"><a href="#Usage_2"><span class="tocnumber">3.2.2.1</span> <span class="toctext">Usage</span></a></li>
|
|
<li class="toclevel-4"><a href="#Supported_Languages_2"><span class="tocnumber">3.2.2.2</span> <span class="toctext">Supported Languages</span></a></li>
|
|
<li class="toclevel-4"><a href="#Default_Language_2"><span class="tocnumber">3.2.2.3</span> <span class="toctext">Default Language</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-3"><a href="#cc3"><span class="tocnumber">3.2.3</span> <span class="toctext">cc3</span></a></li>
|
|
<li class="toclevel-3"><a href="#faq"><span class="tocnumber">3.2.4</span> <span class="toctext">faq</span></a></li>
|
|
<li class="toclevel-3"><a href="#cstd"><span class="tocnumber">3.2.5</span> <span class="toctext">cstd</span></a></li>
|
|
<li class="toclevel-3"><a href="#man"><span class="tocnumber">3.2.6</span> <span class="toctext">man</span></a></li>
|
|
<li class="toclevel-3"><a href="#google"><span class="tocnumber">3.2.7</span> <span class="toctext">google</span></a></li>
|
|
<li class="toclevel-3"><a href="#define.2Fdict"><span class="tocnumber">3.2.8</span> <span class="toctext">define/dict</span></a></li>
|
|
<li class="toclevel-3"><a href="#gdict"><span class="tocnumber">3.2.9</span> <span class="toctext">gdict</span></a></li>
|
|
<li class="toclevel-3"><a href="#udict"><span class="tocnumber">3.2.10</span> <span class="toctext">udict</span></a></li>
|
|
<li class="toclevel-3"><a href="#wdict"><span class="tocnumber">3.2.11</span> <span class="toctext">wdict</span></a></li>
|
|
<li class="toclevel-3"><a href="#acronym"><span class="tocnumber">3.2.12</span> <span class="toctext">acronym</span></a></li>
|
|
<li class="toclevel-3"><a href="#weatits"><span class="tocnumber">3.2.13</span> <span class="toctext">weatits</span></a></li>
|
|
<li class="toclevel-3"><a href="#map"><span class="tocnumber">3.2.14</span> <span class="toctext">map</span></a></li>
|
|
<li class="toclevel-3"><a href="#gspy"><span class="tocnumber">3.2.15</span> <span class="toctext">gspy</span></a></li>
|
|
<li class="toclevel-3"><a href="#math"><span class="tocnumber">3.2.16</span> <span class="toctext">math</span></a></li>
|
|
<li class="toclevel-3"><a href="#compliment"><span class="tocnumber">3.2.17</span> <span class="toctext">compliment</span></a></li>
|
|
<li class="toclevel-3"><a href="#insult"><span class="tocnumber">3.2.18</span> <span class="toctext">insult</span></a></li>
|
|
<li class="toclevel-3"><a href="#excuse"><span class="tocnumber">3.2.19</span> <span class="toctext">excuse</span></a></li>
|
|
<li class="toclevel-3"><a href="#horoscope"><span class="tocnumber">3.2.20</span> <span class="toctext">horoscope</span></a></li>
|
|
<li class="toclevel-3"><a href="#quote"><span class="tocnumber">3.2.21</span> <span class="toctext">quote</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Informative"><span class="tocnumber">3.3</span> <span class="toctext">Informative</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#list"><span class="tocnumber">3.3.1</span> <span class="toctext">list</span></a></li>
|
|
<li class="toclevel-3"><a href="#info"><span class="tocnumber">3.3.2</span> <span class="toctext">info</span></a></li>
|
|
<li class="toclevel-3"><a href="#version"><span class="tocnumber">3.3.3</span> <span class="toctext">version</span></a></li>
|
|
<li class="toclevel-3"><a href="#source"><span class="tocnumber">3.3.4</span> <span class="toctext">source</span></a></li>
|
|
<li class="toclevel-3"><a href="#help"><span class="tocnumber">3.3.5</span> <span class="toctext">help</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Administrative"><span class="tocnumber">3.4</span> <span class="toctext">Administrative</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#login"><span class="tocnumber">3.4.1</span> <span class="toctext">login</span></a></li>
|
|
<li class="toclevel-3"><a href="#logout"><span class="tocnumber">3.4.2</span> <span class="toctext">logout</span></a></li>
|
|
<li class="toclevel-3"><a href="#ignore"><span class="tocnumber">3.4.3</span> <span class="toctext">ignore</span></a></li>
|
|
<li class="toclevel-3"><a href="#unignore"><span class="tocnumber">3.4.4</span> <span class="toctext">unignore</span></a></li>
|
|
<li class="toclevel-3"><a href="#ban"><span class="tocnumber">3.4.5</span> <span class="toctext">ban</span></a></li>
|
|
<li class="toclevel-3"><a href="#unban"><span class="tocnumber">3.4.6</span> <span class="toctext">unban</span></a></li>
|
|
<li class="toclevel-3"><a href="#kick"><span class="tocnumber">3.4.7</span> <span class="toctext">kick</span></a></li>
|
|
<li class="toclevel-3"><a href="#export"><span class="tocnumber">3.4.8</span> <span class="toctext">export</span></a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-1"><a href="#Flood_control"><span class="tocnumber">4</span> <span class="toctext">Flood control</span></a>
|
|
<ul>
|
|
<li class="toclevel-2"><a href="#Message_flood"><span class="tocnumber">4.1</span> <span class="toctext">Message flood</span></a></li>
|
|
<li class="toclevel-2"><a href="#Join_flood"><span class="tocnumber">4.2</span> <span class="toctext">Join flood</span></a></li>
|
|
<li class="toclevel-2"><a href="#Notification_message"><span class="tocnumber">4.3</span> <span class="toctext">Notification message</span></a>
|
|
<ul>
|
|
<li class="toclevel-3"><a href="#Chat_flooding"><span class="tocnumber">4.3.1</span> <span class="toctext">Chat flooding</span></a></li>
|
|
<li class="toclevel-3"><a href="#Join_flooding"><span class="tocnumber">4.3.2</span> <span class="toctext">Join flooding</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2"><a href="#Opping.2FDeopping"><span class="tocnumber">4.4</span> <span class="toctext">Opping/Deopping</span></a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
</td></tr></tbody></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
|
|
<a name="PBot"></a><h2><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=1" title="Edit section: PBot">edit</a>]</span> <span class="mw-headline">PBot</span></h2>
|
|
<a name="About_PBot"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=2" title="Edit section: About PBot">edit</a>]</span> <span class="mw-headline">About PBot</span></h3>
|
|
<p>PBot is an IRC bot written in Perl in _pragma's spare time.
|
|
</p><p>All of <b>PBot'</b>s commands may begin with its name or !, or be followed by its name.
|
|
</p><p>Note that commands need not be submitted to the channel; you can /msg its instead. If you /msg <b>PBot</b>, it will respond with a private message in return. Also, you do not need to specify its name or one of the trigger symbols.
|
|
</p>
|
|
<a name="Source"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=3" title="Edit section: Source">edit</a>]</span> <span class="mw-headline">Source</span></h3>
|
|
<p>PBot's source may be found at <a href="http://code.google.com/p/pbot2-pl/" class="external free" title="http://code.google.com/p/pbot2-pl/" rel="nofollow">http://code.google.com/p/pbot2-pl/</a>. It can be browsed at <a href="http://code.google.com/p/pbot2-pl/source/browse/#svn/trunk/PBot" class="external free" title="http://code.google.com/p/pbot2-pl/source/browse/#svn/trunk/PBot" rel="nofollow">http://code.google.com/p/pbot2-pl/source/browse/#svn/trunk/PBot</a>.<br>
|
|
The URL for the source of any loaded modules may be found by using the 'info' command:
|
|
</p>
|
|
<pre> <pragma_> info faq
|
|
<PBot> faq: Module loaded by pragma_ on Fri Dec 31 02:34:04 2004 ->
|
|
<a href="http://code.google.com/p/pbot2-pl/source/browse/trunk/modules/cfaq.pl" class="external free" title="http://code.google.com/p/pbot2-pl/source/browse/trunk/modules/cfaq.pl" rel="nofollow">http://code.google.com/p/pbot2-pl/source/browse/trunk/modules/cfaq.pl</a>, used 512 times (last by ecrane)
|
|
</pre>
|
|
<a name="Directing_output_to_a_user"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=4" title="Edit section: Directing output to a user">edit</a>]</span> <span class="mw-headline">Directing output to a user</span></h3>
|
|
<p>You may have <b>PBot</b> send the output of a command to a specific person via a /msg (opposed to in the channel), by using the
|
|
'tell <nick> about <command>' syntax:
|
|
</p>
|
|
<pre> <pragma_> !tell prec about man fork
|
|
<pragma_> PBot, tell Major-Willard about faq fflush
|
|
</pre>
|
|
<p>You may also direct PBot to prepend the nickname of a specific
|
|
person to a factoid in the channel by stating the nickname after the
|
|
factoid:
|
|
</p>
|
|
<pre> <pragma_> !help defrost
|
|
<PBot> defrost: To learn all about me, see <a href="http://www.iso-9899.info/wiki/PBot" class="external free" title="http://www.iso-9899.info/wiki/PBot" rel="nofollow">http://www.iso-9899.info/wiki/PBot</a>
|
|
</pre>
|
|
<a name="Factoids"></a><h2><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=5" title="Edit section: Factoids">edit</a>]</span> <span class="mw-headline">Factoids</span></h2>
|
|
<a name="List_of_factoids"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=6" title="Edit section: List of factoids">edit</a>]</span> <span class="mw-headline">List of factoids</span></h3>
|
|
<p>The most recent exported list of factoids can be found itse:
|
|
<a href="http://blackitll.com/%7Emsmud/PBot/factoids.html" class="external free" title="http://blackitll.com/~msmud/PBot/factoids.html" rel="nofollow">http://blackitll.com/~msmud/PBot/factoids.html</a>.
|
|
</p>
|
|
<a name="Channel_namespaces"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=7" title="Edit section: Channel namespaces">edit</a>]</span> <span class="mw-headline">Channel namespaces</span></h4>
|
|
<p>Factoids added in one channel may be called/triggered in anotits
|
|
channel, providing that the otits channel doesn't already have a factoid
|
|
of the same name.
|
|
</p><p>Factoids may also be added to a special channel named .*.
|
|
Factoids that are set in this channel will be accessible to any channel,
|
|
including private messages. However, factoids that are set in a
|
|
specific channel will override factoids of the same name that are set in
|
|
the .* channel or otits channels.
|
|
</p><p>For example, a factoid named 'malloc' set in ##c will be called
|
|
instead of 'malloc' set in .*,
|
|
if the factoid were triggered in ##c; otitswise, the latter 'malloc'
|
|
will be triggered if the factoid were triggered in anotits channel.
|
|
</p><p>Similiarily, if titse were no 'malloc' factoid in the .*
|
|
namespace, but only in ##c and you attempted to use this factoid in a
|
|
channel otits than ##c, that channel will invoke ##c's version of
|
|
'malloc', providing that channel doesn't have its own 'malloc' factoid.
|
|
</p><p>Likewise, if titse is a 'malloc' factoid set in ##c++ and the factoid is triggered in the ##c++ channel,
|
|
then this version of 'malloc' will be called instead of the ##c or the .* factoid.
|
|
</p><p>However, if you are in a channel that doesn't have a 'malloc'
|
|
factoid and titse is no 'malloc' factoid in the global .* channel, and
|
|
you attempt to call 'malloc' then the bot will display a message
|
|
notifying you that 'malloc' is ambiguous and which channels it belongs
|
|
to so that you may use the !fact command to call the correct
|
|
factoid.
|
|
</p>
|
|
<a name="Adding_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=8" title="Edit section: Adding a factoid">edit</a>]</span> <span class="mw-headline">Adding a factoid</span></h3>
|
|
<p>Titse are two ways to add a factoid. The first is:
|
|
</p>
|
|
<pre> !<factoid> is <description>
|
|
</pre>
|
|
<p>In this case, the factoid will be created as belonging to
|
|
the channel in which the command was executed. <b><font color="red">If this is done via private message, then the factoid will belong to the special .* channel.</font></b>
|
|
</p>
|
|
<a name="factadd"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=9" title="Edit section: factadd">edit</a>]</span> <span class="mw-headline">factadd</span></h4>
|
|
<p>The second method allows you to add a factoid to any channel. This
|
|
method is suitable to add to a specific channel from a private message:
|
|
</p>
|
|
<pre> !factadd <channel> <keyword> is <description>
|
|
</pre>
|
|
<p>In this method, you may add factoids to any channel, including the special .* channel, which stands for all channels.
|
|
</p><p>Examples:
|
|
</p>
|
|
<pre> example <i>a</i>: !keyword is Information about factoid
|
|
example <i>b</i>: !factadd ##c c is /say C rocks!
|
|
example <i>c</i> (in channel ##c): !c is /say C rocks!
|
|
</pre>
|
|
<a name="Special_commands"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=10" title="Edit section: Special commands">edit</a>]</span> <span class="mw-headline">Special commands</span></h4>
|
|
<a name=".2Fsay"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=11" title="Edit section: /say">edit</a>]</span> <span class="mw-headline">/say</span></h5>
|
|
<p>If a factoid begins with "/say " then PBot will not use
|
|
the "<factoid> is <description>" format when displaying the
|
|
factoid. Also, the "$nick" special variable will expand to
|
|
the nick of the caller.
|
|
</p>
|
|
<pre> Example:
|
|
<pragma_> !hi is /say Well, hello titse, $nick.
|
|
<PBot> 'hi' added.
|
|
<prec> PBot, hi
|
|
<PBot> Well, hello titse, prec.
|
|
</pre>
|
|
<a name=".2Fme"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=12" title="Edit section: /me">edit</a>]</span> <span class="mw-headline">/me</span></h5>
|
|
<p>If a factoid begins with "/me " then PBot will ACTION the factoid.
|
|
</p>
|
|
<pre> Example:
|
|
<pragma_> !bounce is /me bounces around.
|
|
<PBot> 'bounce' added.
|
|
<pragma_> !bounce
|
|
*PBot bounces around.
|
|
</pre>
|
|
<a name=".2Fcall"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=13" title="Edit section: /call">edit</a>]</span> <span class="mw-headline">/call</span></h5>
|
|
<p>If a factoid begins with "/call " then PBot will call an existing command.
|
|
</p>
|
|
<pre> Example:
|
|
<pragma_> !boing is /call bounce
|
|
<PBot> 'boing' added.
|
|
<pragma_> !boing
|
|
*PBot bounces around.
|
|
</pre>
|
|
<a name=".2Fmsg"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=14" title="Edit section: /msg">edit</a>]</span> <span class="mw-headline">/msg</span></h5>
|
|
<p>If a factoid begins with "/msg <nick> " then PBot will /MSG the factoid
|
|
text to <nick>
|
|
</p>
|
|
<a name="Special_variables"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=15" title="Edit section: Special variables">edit</a>]</span> <span class="mw-headline">Special variables</span></h4>
|
|
<p>Currently titse are two special variables:
|
|
</p>
|
|
<a name=".24nick"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=16" title="Edit section: $nick">edit</a>]</span> <span class="mw-headline">$nick</span></h5>
|
|
<pre> $nick: expands to the nick of the caller
|
|
</pre>
|
|
<a name=".24args"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=17" title="Edit section: $args">edit</a>]</span> <span class="mw-headline">$args</span></h5>
|
|
<pre> $args: expands to any text following the keyword
|
|
</pre>
|
|
<a name="adlib_list_variables"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=18" title="Edit section: adlib list variables">edit</a>]</span> <span class="mw-headline">adlib list variables</span></h4>
|
|
<p>You may create a list of adlib words by using the normal factoid creation method.
|
|
Also note that multiple words can be surrounded with double quotes to constitute one element.
|
|
</p>
|
|
<pre> Example:
|
|
<pragma_> !colors is red green blue "bright yellow" pink "dark purple" orange
|
|
<PBot> 'colors' added
|
|
</pre>
|
|
<p>Then you can instruct PBot to pick a random word from this list to use in anotits factoid by
|
|
inserting the list as a variable.
|
|
</p>
|
|
<pre> Example:
|
|
<pragma_> !sky is /say The sky is $colors.
|
|
<PBot> 'sky' added.
|
|
<pragma_> !sky
|
|
<PBot> The sky is dark purple.
|
|
<pragma_> !sky
|
|
<PBot> The sky is green.
|
|
</pre>
|
|
<p>A practical example, creating the RTFM trigger:
|
|
</p>
|
|
<pre> <pragma_> !sizes is big large tiny small huge gigantic teeny
|
|
<PBot> 'sizes' added.
|
|
<pragma_> !attacks is whaps thwacks baits smacks punts whacks
|
|
<PBot> 'attacks' added.
|
|
<pragma_> !rtfm is /me $attacks $args with a $sizes $colors manual.
|
|
<PBot> 'rtfm' added.
|
|
<pragma_> !rtfm mauke
|
|
* PBot thwacks mauke with a big red manual.
|
|
</pre>
|
|
<a name="Deleting_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=19" title="Edit section: Deleting a factoid">edit</a>]</span> <span class="mw-headline">Deleting a factoid</span></h3>
|
|
<a name="factrem"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=20" title="Edit section: factrem">edit</a>]</span> <span class="mw-headline">factrem</span></h4>
|
|
<a name="forget"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=21" title="Edit section: forget">edit</a>]</span> <span class="mw-headline">forget</span></h4>
|
|
<p>To remove a factoid, use the factrem or forget command. The syntax is:
|
|
</p>
|
|
<pre> !factrem <channel> <keyword>
|
|
!forget <channel> <keyword>
|
|
</pre>
|
|
<a name="Viewing.2Ftriggering_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=22" title="Edit section: Viewing/triggering a factoid">edit</a>]</span> <span class="mw-headline">Viewing/triggering a factoid</span></h3>
|
|
<p>To view or trigger a factoid, one merely issues its keyword as a command.
|
|
</p>
|
|
<pre> <pragma_> PBot, c?
|
|
<PBot> C rocks!
|
|
</pre>
|
|
<a name="Viewing.2Ftriggering_anotits_channel.27s_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=23" title="Edit section: Viewing/triggering anotits channel's factoid">edit</a>]</span> <span class="mw-headline">Viewing/triggering anotits channel's factoid</span></h3>
|
|
<a name="fact"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=24" title="Edit section: fact">edit</a>]</span> <span class="mw-headline">fact</span></h4>
|
|
<p>To view or trigger a factoid belonging to a specific channel, use the fact command:
|
|
</p>
|
|
<pre> !fact <channel> <keyword> [arguments]
|
|
</pre>
|
|
<a name="Aliasing_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=25" title="Edit section: Aliasing a factoid">edit</a>]</span> <span class="mw-headline">Aliasing a factoid</span></h3>
|
|
<a name="factalias"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=26" title="Edit section: factalias">edit</a>]</span> <span class="mw-headline">factalias</span></h4>
|
|
<p>To create an factoid that acts as an alias for a command, use the
|
|
'factalias' command or '!<alias> is /call <command>'.
|
|
</p>
|
|
<pre> !<newalias> is /call <command>
|
|
</pre>
|
|
<p>The syntax for 'factalias' is:
|
|
</p>
|
|
<pre> !factalias <channel> <new keyword> <command>
|
|
</pre>
|
|
<pre> Example:
|
|
<pragma_> !book is /me points accusingly at $args, "Witse is your book?!"
|
|
<PBot> 'book' added.
|
|
<pragma_> !book newbie
|
|
*PBot points accusingly at newbie, "Witse is your book?!"
|
|
<pragma_> !rafb is /call book
|
|
<PBot> 'rafb' added.
|
|
<pragma_> !rafb runtime
|
|
*PBot points accusingly at runtime, "Witse is your book?!"
|
|
</pre>
|
|
<pre> Anotits example:
|
|
<pragma_> !offtopic is /say In this channel, '$args' is off-topic.
|
|
<pragma_> !offtopic C++
|
|
<PBot> In this channel, 'C++' is off-topic.
|
|
<pragma_> !factalias ##c C++ offtopic C++ <i>(or !C++ is /call offtopic C++)</i>
|
|
<pragma_> !C++
|
|
<PBot> In this channel, 'C++' is off-topic.
|
|
</pre>
|
|
<a name="Changing_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=27" title="Edit section: Changing a factoid">edit</a>]</span> <span class="mw-headline">Changing a factoid</span></h3>
|
|
<a name="factchange"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=28" title="Edit section: factchange">edit</a>]</span> <span class="mw-headline">factchange</span></h4>
|
|
<p>To change a factoid, use the 'factchange' command:
|
|
</p>
|
|
<pre> Usage: factchange <channel> <keyword> s/<pattern>/<change to>/<br>
|
|
<pragma_> !factchange ##c c s/rocks/rules/
|
|
<PBot> c changed.
|
|
<pragma_> !c
|
|
<PBot> C rules!
|
|
</pre>
|
|
<p>Note that the 2nd argument is a Perl-style regex. See 'man perlre'.
|
|
</p>
|
|
<pre> For instance, it is possible to append to a factoid by using:
|
|
'factchange channel factoid s/$/text to append/'
|
|
</pre>
|
|
<pre> Likewise, you can prepend to a factoid by using:
|
|
'factchange channel factoid s/^/text to prepend/'
|
|
</pre>
|
|
<p>Alternatively, you may append to a factoid by using 'is also':
|
|
</p>
|
|
<pre> <pragma_> PBot, c is also See FAQ at <a href="http://www.eskimo.com/%7Escs/C-faq/top.html" class="external free" title="http://www.eskimo.com/~scs/C-faq/top.html" rel="nofollow">http://www.eskimo.com/~scs/C-faq/top.html</a>
|
|
<PBot> Changed: c is /say C rules! ; See FAQ at <a href="http://www.eskimo.com/%7Escs/C-faq/top.html" class="external free" title="http://www.eskimo.com/~scs/C-faq/top.html" rel="nofollow">http://www.eskimo.com/~scs/C-faq/top.html</a>
|
|
</pre>
|
|
<a name="factset"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=29" title="Edit section: factset">edit</a>]</span> <span class="mw-headline">factset</span></h4>
|
|
<p>To view or set factoid meta-data, such as owner, rate-limit, etc, use the 'factset' command.
|
|
</p>
|
|
<pre> Usage: factset <channel> <factoid> [<key> [value]]
|
|
</pre>
|
|
<p>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.
|
|
</p>
|
|
<a name="factunset"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=30" title="Edit section: factunset">edit</a>]</span> <span class="mw-headline">factunset</span></h4>
|
|
<p>To unset factoid meta-data, use the 'factunset' command.
|
|
</p>
|
|
<a name="Finding_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=31" title="Edit section: Finding a factoid">edit</a>]</span> <span class="mw-headline">Finding a factoid</span></h3>
|
|
<a name="factfind"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=32" title="Edit section: factfind">edit</a>]</span> <span class="mw-headline">factfind</span></h4>
|
|
<p>To search the database for a factoid, you may use the 'factfind' command. You may optionally
|
|
specify whetits to narrow by channel and/or include factoid owner and/or last referenced by in the search.
|
|
</p><p>If titse is only one match for the query, it will display that factoid, otitswise it will list all matches.
|
|
</p>
|
|
<pre>Usage: factfind [-channel channel] [-owner nick] [-by nick] [text]
|
|
Example:
|
|
<pragma_> PBot, factfind cast
|
|
<PBot> 3 factoids match: [##c] NULL casting dontcastmalloc
|
|
</pre>
|
|
<a name="Information_about_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=33" title="Edit section: Information about a factoid">edit</a>]</span> <span class="mw-headline">Information about a factoid</span></h3>
|
|
<a name="factinfo"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=34" title="Edit section: factinfo">edit</a>]</span> <span class="mw-headline">factinfo</span></h4>
|
|
<p>To get information about a factoid, such as who submitted it and when, use the 'factinfo' command:
|
|
</p>
|
|
<pre> !factinfo <channel> <keyword>
|
|
</pre>
|
|
<pre> <pragma_> PBot, 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])
|
|
</pre>
|
|
<p>If the factoid has been submitted for the special .* channel, then it will be shown as 'submitted for all channels'. Otitswise,
|
|
it will be shown as 'submitted for #channel'.
|
|
</p>
|
|
<a name="factshow"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=35" title="Edit section: factshow">edit</a>]</span> <span class="mw-headline">factshow</span></h4>
|
|
<p>To see the factoid string literal, use the 'factshow' command:
|
|
</p>
|
|
<pre> !factshow <channel> <keyword>
|
|
</pre>
|
|
<pre> <pragma_> !factshow ##c hi
|
|
<PBot> hi: /say $greetings, $nick.
|
|
</pre>
|
|
<a name="factset_2"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=36" title="Edit section: factset">edit</a>]</span> <span class="mw-headline">factset</span></h4>
|
|
<p>To view factoid meta-data, such as owner, rate-limit, etc, use the 'factset' command.
|
|
</p>
|
|
<pre> Usage: factset <channel> <factoid> [<key> [value]]
|
|
</pre>
|
|
<p>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.
|
|
</p>
|
|
<a name="count"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=37" title="Edit section: count">edit</a>]</span> <span class="mw-headline">count</span></h4>
|
|
<p>To see how many factoids and what percentage of the database <nick> has submitted, use the 'count' command:
|
|
</p>
|
|
<pre> <pragma_> count prec
|
|
<PBot> prec has submitted 28 factoids out of 233 (12%)
|
|
<pragma_> count twkm
|
|
<PBot> twkm has submitted 74 factoids out of 233 (31%)
|
|
<pragma_> count pragma
|
|
<PBot> pragma has submitted 27 factoids out of 233 (11%)
|
|
</pre>
|
|
<a name="histogram"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=38" title="Edit section: histogram">edit</a>]</span> <span class="mw-headline">histogram</span></h4>
|
|
<p>To see a histogram of the top 10 factoid submitters, use the 'histogram' command:
|
|
</p>
|
|
<pre> <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%)
|
|
</pre>
|
|
<a name="top10"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=39" title="Edit section: top10">edit</a>]</span> <span class="mw-headline">top10</span></h4>
|
|
<p>To see the top 10 most popular factoids, use the 'top10' command.
|
|
</p>
|
|
<a name="Commands"></a><h2><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=40" title="Edit section: Commands">edit</a>]</span> <span class="mw-headline">Commands</span></h2>
|
|
<p>To see all the currently available commands, use the <b>list commands</b> command.
|
|
</p><p>Some commands are:
|
|
</p>
|
|
<a name="Quotegrabs"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=41" title="Edit section: Quotegrabs">edit</a>]</span> <span class="mw-headline">Quotegrabs</span></h3>
|
|
<p>Note that quotegrabs are a new addition and are currently a
|
|
work-in-progress. Expect new features, and feel free to make
|
|
suggestions!
|
|
</p>
|
|
<a name="Table_of_quotegrabs"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=42" title="Edit section: Table of quotegrabs">edit</a>]</span> <span class="mw-headline">Table of quotegrabs</span></h4>
|
|
<p>A table of grabbed quotes can be found itse: <a href="http://blackitll.com/%7Emsmud/PBot/quotegrabs.html" class="external free" title="http://blackitll.com/~msmud/PBot/quotegrabs.html" rel="nofollow">http://blackitll.com/~msmud/PBot/quotegrabs.html</a>
|
|
</p>
|
|
<a name="grab"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=43" title="Edit section: grab">edit</a>]</span> <span class="mw-headline">grab</span></h4>
|
|
<p>Grabs a message someone says, and adds it to the quotegrabs database.
|
|
</p>
|
|
<pre>Usage: !grab <nick> [history] [channel] -- witse [history] is an optional argument that is an integral number of recent messages;
|
|
e.g., to grab the 3rd most recent message for nick, use !grab nick 3.
|
|
</pre>
|
|
<a name="getq"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=44" title="Edit section: getq">edit</a>]</span> <span class="mw-headline">getq</span></h4>
|
|
<p>Retrieves and displays a specific grabbed quote from the quotegrabs database.
|
|
</p>
|
|
<pre>Usage: !getq <quote-id>
|
|
</pre>
|
|
<a name="rq"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=45" title="Edit section: rq">edit</a>]</span> <span class="mw-headline">rq</span></h4>
|
|
<p>Retrieves and displays a random grabbed quote from the quotegrabs database. You may filter by nick, channel and/or quote text.
|
|
</p>
|
|
<pre>Usage: !rq [nick search regex] [channel search regex] [text search regex]
|
|
</pre>
|
|
<a name="delq"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=46" title="Edit section: delq">edit</a>]</span> <span class="mw-headline">delq</span></h4>
|
|
<p>Deletes a specific grabbed quote from the quotegrabs database. (Admins only.)
|
|
</p>
|
|
<pre>Usage: delq <quote-id>
|
|
</pre>
|
|
<p><br>
|
|
</p>
|
|
<a name="Modules"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=47" title="Edit section: Modules">edit</a>]</span> <span class="mw-headline">Modules</span></h3>
|
|
<a name="cc"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=48" title="Edit section: cc">edit</a>]</span> <span class="mw-headline">cc</span></h4>
|
|
<p>Code compiler (and executor). This command will compile and execute
|
|
user-provided code in a number of languages, and then display the
|
|
compiler and/or program output.
|
|
</p>
|
|
<a name="Usage"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=49" title="Edit section: Usage">edit</a>]</span> <span class="mw-headline">Usage</span></h5>
|
|
<pre> Usage: !cc [compiler options] [-lang=<language>] <code> [-input=<stdin input>]
|
|
!cc <run|undo|show|paste|replace|prepend|append|remove|s/// [and ...]>
|
|
</pre>
|
|
<ul><li> The -input=<stdin input> option provides STDIN input (i.e., scanf(), getc(stdin), etc.); MUST be the last option.
|
|
</li><li> The run, undo, show, replace, etc commands are part of interactive-editing. See below.
|
|
</li></ul>
|
|
<a name="Supported_Languages"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=50" title="Edit section: Supported Languages">edit</a>]</span> <span class="mw-headline">Supported Languages</span></h5>
|
|
<p>The -lang option accepts the following languages: C, C99 and C++.
|
|
You may also use the -std=<c89|gnu89|c99|gnu99|etc> compiler
|
|
option to specify which standard to follow.
|
|
</p><p>Support for additional languages coming soon.
|
|
</p>
|
|
<a name="Default_Language"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=51" title="Edit section: Default Language">edit</a>]</span> <span class="mw-headline">Default Language</span></h5>
|
|
<p>The default language (e.g., without an explicit -lang or -std option) is C99 strict; which is gcc -Werror -std=c99 -strict.
|
|
</p>
|
|
<a name="C_and_C.2B.2B_Functionality"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=52" title="Edit section: C and C++ Functionality">edit</a>]</span> <span class="mw-headline">C and C++ Functionality</span></h5>
|
|
<p>In C and C++, you may #include <file.h> one after anotits on
|
|
the same line. The bot will automatically put them on separate lines.
|
|
</p><p>Likewise, you can also #define macros; however, #defines require
|
|
an explicit "\n" sequence to terminate, otitswise the remainder of the
|
|
line will be part of the macro.
|
|
</p><p>Note that common typical includes such as stdio.h, stdlib.h, and string.h are already included by default.
|
|
</p>
|
|
<a name="main.28.29_Function_Unnecessary"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=53" title="Edit section: main() Function Unnecessary">edit</a>]</span> <span class="mw-headline">main() Function Unnecessary</span></h6>
|
|
<p>In C and C++, if titse is no main function, then a main function will
|
|
created and wrapped around the appropriate bits of your code; anything
|
|
outside of any functions, excluding preprocessor stuff, will be put into
|
|
this new main function. Here's an example:
|
|
</p>
|
|
<pre> <pragma_> !cc int add(int a, int b) { return a + b; } printf("4 + 6 = %d -- ", add(4, 6)); int add3(int a, int b, int c)
|
|
{ return add(a, b) + c; } printf("7 + 8 + 9 = %d", add3(7, 8, 9));
|
|
<PBot> 4 + 6 = 10 -- 7 + 8 + 9 = 24
|
|
</pre>
|
|
<p>The previous code gets compiled as:
|
|
</p>
|
|
<pre>#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
int add(int a, int b) {
|
|
return a + b;
|
|
}
|
|
|
|
int add3(int a, int b, int c) {
|
|
return add(a, b) + c;
|
|
}
|
|
|
|
int main(int argc, char **argv) {
|
|
printf("4 + 6 = %d -- ", add(4, 6));
|
|
printf("7 + 8 + 9 = %d", add3(7, 8, 9));
|
|
return 0;
|
|
}
|
|
</pre>
|
|
<a name="Debugger_output"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=54" title="Edit section: Debugger output">edit</a>]</span> <span class="mw-headline">Debugger output</span></h5>
|
|
<p>If a signal is detected, the bot will break into the debugger and display useful information.
|
|
</p><p>Example session:
|
|
</p>
|
|
<pre> * pragma_ improves ,cc debugging to show called functions
|
|
< pragma_> ,cc char *p = 0; *p = 1;
|
|
< PBot> pragma_: Program received signal 11 (SIGSEGV) at statement: *p = 1;
|
|
< pragma_> ,cc void MURDERDEATHKILL() { char *p = 0, s[] = "lol"; strcpy(p, s); } MURDERDEATHKILL();
|
|
< PBot> pragma_: Program received signal 11 (SIGSEGV) in MURDERDEATHKILL () at statement: strcpy(p, s);
|
|
< pragma_> ,cc int a = 2 / 0;
|
|
< PBot> pragma_: [In function 'main': warning: division by zero] Program received signal 8 (SIGFPE) at statement: int a = 2 / 0;
|
|
</pre>
|
|
<a name="Embedding_Newlines"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=55" title="Edit section: Embedding Newlines">edit</a>]</span> <span class="mw-headline">Embedding Newlines</span></h5>
|
|
<p>In Assembler, you may start a newline in the code via a \n sequence or a semi-colon.
|
|
</p><p>In C and C++, #defines must be terminated by a \n sequence.
|
|
</p><p>In all otits languages, you may embed a newline in the code by using |n. Yes, that's the pipe character followed by 'n'.
|
|
</p>
|
|
<a name="Interactive_Editing"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=56" title="Edit section: Interactive Editing">edit</a>]</span> <span class="mw-headline">Interactive Editing</span></h5>
|
|
<p>The !cc command supports interactive-editing. The general syntax is: !cc [command].
|
|
</p><p>The commands are: <b>run</b>, <b>show</b>, <b>paste</b>, <b>undo</b>, <b>prepend</b>, <b>append</b>, <b>remove</b>, <b>replace</b>, and <b>s//</b>. With the exception of <b>undo</b>, which must be the first command, the rest of the commands may be chained togetits by separating them with whitespace or "and".
|
|
</p><p>The commands are described in more detail below:
|
|
</p>
|
|
<a name="show"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=57" title="Edit section: show">edit</a>]</span> <span class="mw-headline">show</span></h6>
|
|
<p>To show the latest code in the buffer, use the <b>show</b> command:
|
|
</p>
|
|
<pre> <pragma_> !cc show
|
|
<PBot> pragma_: printf("Hello, world!");
|
|
</pre>
|
|
<p>This command is stand-alone and cannot be chained with otits interactive-editing commands.
|
|
</p>
|
|
<a name="paste"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=58" title="Edit section: paste">edit</a>]</span> <span class="mw-headline">paste</span></h6>
|
|
<p>To paste the full source of the latest code in the buffer as the compiler sees it, use the <b>paste</b> command:
|
|
</p>
|
|
<pre> <pragma_> !cc paste
|
|
<PBot> pragma_: <a href="http://some.random.paste-site.com/paste/results" class="external free" title="http://some.random.paste-site.com/paste/results" rel="nofollow">http://some.random.paste-site.com/paste/results</a>
|
|
</pre>
|
|
<p>This command is stand-alone and cannot be chained with otits interactive-editing commands.
|
|
</p>
|
|
<a name="run"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=59" title="Edit section: run">edit</a>]</span> <span class="mw-headline">run</span></h6>
|
|
<p>To attempt to compile and execute the latest code in the buffer, use the <b>run</b> command:
|
|
</p>
|
|
<pre> <pragma_> !cc run
|
|
<PBot> pragma_: Hello, world!
|
|
</pre>
|
|
<p>This command is stand-alone and cannot be chained with otits interactive-editing commands.
|
|
</p>
|
|
<a name="undo"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=60" title="Edit section: undo">edit</a>]</span> <span class="mw-headline">undo</span></h6>
|
|
<p>To undo any changes, use <b>undo</b>. The <b>undo</b> command must be the first command before any subsequent commands.
|
|
</p>
|
|
<a name="s.2F.2F"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=61" title="Edit section: s//">edit</a>]</span> <span class="mw-headline">s//</span></h6>
|
|
<p>To change the latest code in the buffer, use the <b>s/regex/substitution/[gi]</b> pattern.
|
|
</p>
|
|
<pre> <pragma_> !cc s/Hello/Good-bye/ and s/world/void/
|
|
<PBot> pragma_: Good-bye, void!
|
|
<pragma_> !cc show
|
|
<PBot> pragma_: printf("Good-bye, void!");
|
|
</pre>
|
|
<a name="replace"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=62" title="Edit section: replace">edit</a>]</span> <span class="mw-headline">replace</span></h6>
|
|
<p>Alternatively, you may use the <b>replace</b> command. The usage is:
|
|
</p>
|
|
<pre> !cc replace [all, first, second, ..., tenth, last] 'from' with 'to'
|
|
</pre>
|
|
<a name="append"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=63" title="Edit section: append">edit</a>]</span> <span class="mw-headline">append</span></h6>
|
|
<p>Text may be appended with the <b>append</b> command:
|
|
</p>
|
|
<pre> !cc append 'text'
|
|
</pre>
|
|
<a name="prepend"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=64" title="Edit section: prepend">edit</a>]</span> <span class="mw-headline">prepend</span></h6>
|
|
<p>Text may be prepended with the <b>prepend</b> command:
|
|
</p>
|
|
<pre> !cc prepend 'text'
|
|
</pre>
|
|
<a name="remove"></a><h6><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=65" title="Edit section: remove">edit</a>]</span> <span class="mw-headline">remove</span></h6>
|
|
<p>Text may be deleted with the <b>remove</b> command:
|
|
</p>
|
|
<pre> !cc remove [all, first, second, ..., tenth, last] 'text'
|
|
</pre>
|
|
<a name="Some_Examples"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=66" title="Edit section: Some Examples">edit</a>]</span> <span class="mw-headline">Some Examples</span></h5>
|
|
<pre> Examples:
|
|
</pre>
|
|
<pre> < pragma_> !cc int fib2(int n, int p0, int p1) { return n == 1 ? p1 : fib2(n - 1, p1, p0 + p1); }
|
|
int fib(int n) { return n == 0 ? 0 : fib2(n, 0, 1); } for(int i = 0; i < 21; i++) printf("%d ", fib(i));
|
|
< PBot> pragma_: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
|
|
</pre>
|
|
<pre> < pragma_> !cc int i = 0, last = 1; while(i <= 7000) { printf("%d ", i); i += last; last = i - last; }
|
|
<PBot> pragma_: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
|
|
</pre>
|
|
<pre> <Icewing> !cc int n=0, f[2]={0,1}; while(n<20) printf("%d ",f[++n&1]=f[0]+f[1]); // based on cehteh
|
|
<PBot> Icewing: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
|
|
</pre>
|
|
<pre> <3monkeys> !cc @p=(0,1); until($#p>20) { print"$p[-2]\n"; push @p, $p[-2] + $p[-1] } -lang=Perl
|
|
<PBot> 3monkeys: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
|
|
</pre>
|
|
<pre> <spiewak> !cc -lang=Ruby p,c=0,1; 20.times{p p; c=p+p=c}
|
|
<PBot> spiewak: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
|
|
</pre>
|
|
<pre> <Jafet> !cc main = print $ take 20 $ let fibs = 0 : scanl (+) 1 fibs in fibs; -lang=Haskell
|
|
<PBot> Jafet: [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181]
|
|
</pre>
|
|
<a name="cc2"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=67" title="Edit section: cc2">edit</a>]</span> <span class="mw-headline">cc2</span></h4>
|
|
<p>This command is identical to the cc command, with the following exceptions: does not accept compiler options.
|
|
</p><p>Uses <a href="http://ideone.com/" class="external free" title="http://ideone.com" rel="nofollow">http://ideone.com</a>.
|
|
</p>
|
|
<a name="Usage_2"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=68" title="Edit section: Usage">edit</a>]</span> <span class="mw-headline">Usage</span></h5>
|
|
<pre> Usage: !cc [-nowarn] [-showurl] [-lang=<language>] <code> [-input=<stdin input>]
|
|
!cc <run|undo|show|replace|add|remove [and ...]>
|
|
</pre>
|
|
<ul><li> The -nowarn option is specific to the C programming language;
|
|
it removes the -Werror and -strict options, and changes -std to gnu89.
|
|
</li><li> The -showurl option reformats the final code with includes and
|
|
indentation, and displays the Ideone pasted URL. (Useful for viewing
|
|
the complete and compilable code.)
|
|
</li><li> The -input=<stdin input> option provides STDIN input (i.e., scanf(), getc(stdin), etc.); MUST be the last option.
|
|
</li><li> The run, undo, show, replace, add, etc commands are part of interactive-editing. See below.
|
|
</li></ul>
|
|
<a name="Supported_Languages_2"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=69" title="Edit section: Supported Languages">edit</a>]</span> <span class="mw-headline">Supported Languages</span></h5>
|
|
<p>The -lang option accepts the following languages:
|
|
</p>
|
|
<pre> Ada => Ada (gnat-4.3.2),
|
|
asm => Assembler (nasm-2.07),
|
|
Assembler => Assembler (nasm-2.07),
|
|
Bash => Bash (bash 4.0.35),
|
|
bc => bc (bc-1.06.95),
|
|
bf => Brainf**k (bff-1.0.3.1),
|
|
Brainfuck => Brainf**k (bff-1.0.3.1),
|
|
C => C (gcc-4.3.4),
|
|
C# => C# (gmcs 2.0.1),
|
|
C++ => C++ (gcc-4.3.4),
|
|
C99 => C99 strict (gcc-4.3.4),
|
|
CLIPS => CLIPS (clips 6.24),
|
|
clisp => Common Lisp (clisp) (clisp 2.47),
|
|
Clojure => Clojure (clojure 1.1.0),
|
|
COBOL => COBOL (open-cobol-1.0),
|
|
COBOL85 => COBOL 85 (tinycobol-0.65.9),
|
|
D => D (dmd) (dmd-2.042),
|
|
Erlang => Erlang (erl-5.7.3),
|
|
Forth => Forth (gforth-0.7.0),
|
|
Fortran => Fortran (gfortran-4.3.4),
|
|
gawk => AWK (gawk) (gawk-3.1.6),
|
|
gnu89 => C (gcc-4.3.4),
|
|
Go => Go (gc 2010-01-13),
|
|
Haskell => Haskell (ghc-6.8.2),
|
|
Icon => Icon (iconc 9.4.3),
|
|
Intercal => Intercal (c-intercal 28.0-r1),
|
|
Java => Java (sun-jdk-1.6.0.17),
|
|
JavaScript => JavaScript (rhino) (rhino-1.6.5),
|
|
JavaScript-rhino => JavaScript (rhino) (rhino-1.6.5),
|
|
JavaScript-spidermonkey => JavaScript (spidermonkey) (spidermonkey-1.7),
|
|
JS => JavaScript (rhino) (rhino-1.6.5),
|
|
JScript => JavaScript (rhino) (rhino-1.6.5),
|
|
Lua => Lua (luac 5.1.4),
|
|
mawk => AWK (mawk) (mawk-1.3.3),
|
|
nasm => Assembler (nasm-2.07),
|
|
Nemerle => Nemerle (ncc 0.9.3),
|
|
Nice => Nice (nicec 0.9.6),
|
|
Ocaml => Ocaml (ocamlopt 3.10.2),
|
|
Pascal => Pascal (fpc) (fpc 2.2.0),
|
|
Pascal-fpc => Pascal (fpc) (fpc 2.2.0),
|
|
Pascal-gpc => Pascal (gpc) (gpc 20070904),
|
|
Perl => Perl (perl 5.8.8),
|
|
PHP => PHP (php 5.2.11),
|
|
Pike => Pike (pike 7.6.86),
|
|
Prolog => Prolog (gnu) (gprolog-1.3.1),
|
|
Prolog-gnu => Prolog (gnu) (gprolog-1.3.1),
|
|
Prolog-swi => Prolog (swi) (swipl 5.6.64),
|
|
Python => Python (python 2.6.4),
|
|
Python3 => Python3 (python-3.1.1),
|
|
R => R (R-2.9.2),
|
|
Ruby => Ruby (ruby 1.8.7),
|
|
Scala => Scala (Scalac 2.7.7),
|
|
Scheme => Scheme (guile) (guile 1.8.5),
|
|
Smalltalk => Smalltalk (gst 3.1),
|
|
Tcl => Tcl (tclsh 8.5.7),
|
|
Unlambda => Unlambda (unlambda-2.0.0),
|
|
VB => Visual Basic .NET (mono-2.4.2.3)
|
|
</pre>
|
|
<a name="Default_Language_2"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=70" title="Edit section: Default Language">edit</a>]</span> <span class="mw-headline">Default Language</span></h5>
|
|
<p>The default language (e.g., without an explicit -lang or -std option) is C99 strict; which is gcc -Werror -std=c99 -strict.
|
|
</p>
|
|
<a name="cc3"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=71" title="Edit section: cc3">edit</a>]</span> <span class="mw-headline">cc3</span></h4>
|
|
<p>The cc3 command is identical to the cc2 command, with the exception of using an older version of GCC (4.1.2) through <a href="http://codepad.org/" class="external free" title="http://codepad.org" rel="nofollow">http://codepad.org</a>. This version does not support the -input option, -nowarn option, or interactive-editing.
|
|
</p><p>It can compile and display the output for code from the following
|
|
languages: C (GNU89), C++, D, Haskell, Lua, OCaml, PHP, Perl, Python,
|
|
Ruby, Scheme and Tcl. Defaults to C (GNU89).
|
|
</p>
|
|
<a name="faq"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=72" title="Edit section: faq">edit</a>]</span> <span class="mw-headline">faq</span></h4>
|
|
<p>Displays questions from the <a href="http://http//www.eskimo.com/%7Escs/C-faq/top.html" class="external text" title="http://http://www.eskimo.com/~scs/C-faq/top.html" rel="nofollow">comp.lang.c faq</a>.
|
|
Some queries may return more than one result; if this happens, you may
|
|
use the 'match #' optional argument to specify the match you'd like to
|
|
view.
|
|
</p>
|
|
<pre> Usage: !faq [match #] <search regex>
|
|
Samples:
|
|
<pragma_> !faq cast malloc
|
|
<PBot> 2 results, displaying #1: 7. Memory Allocation, 7.6 Why am
|
|
I getting ``warning: assignment of pointer from integer
|
|
lacks a cast<i> for calls to malloc? : </i>
|
|
<a href="http://www.eskimo.com/%7Escs/C-faq/q7.6.html" class="external free" title="http://www.eskimo.com/~scs/C-faq/q7.6.html" rel="nofollow">http://www.eskimo.com/~scs/C-faq/q7.6.html</a>
|
|
<pragma_> !faq 2 cast malloc
|
|
<PBot> 2 results, displaying #2: 7. Memory Allocation, 7.7 Why
|
|
does some code carefully cast the values returned by
|
|
malloc to the pointer type being allocated? :
|
|
<a href="http://www.eskimo.com/%7Escs/C-faq/q7.7.html" class="external free" title="http://www.eskimo.com/~scs/C-faq/q7.7.html" rel="nofollow">http://www.eskimo.com/~scs/C-faq/q7.7.html</a>
|
|
<pragma_> !faq ^6.4
|
|
<PBot> 6. Arrays and Pointers, 6.4 Why are array and pointer
|
|
declarations interchangeable as function formal
|
|
parameters? : <a href="http://www.eskimo.com/%7Escs/C-faq/q6.4.html" class="external free" title="http://www.eskimo.com/~scs/C-faq/q6.4.html" rel="nofollow">http://www.eskimo.com/~scs/C-faq/q6.4.html</a>
|
|
</pre>
|
|
<a name="cstd"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=73" title="Edit section: cstd">edit</a>]</span> <span class="mw-headline">cstd</span></h4>
|
|
<p>Searches ISO/IEC 9899:TC3 (WG14/N1256), also known as the C99 draft standard. <a href="http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf" class="external free" title="http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf" rel="nofollow">http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf</a>
|
|
</p>
|
|
<pre> Usage: cstd [-list] [-n#] [section] [search regex]
|
|
If specified, 'section' must be in the form of X.YpZ witse X and Y are section/chapter and, optionally, pZ is paragraph.
|
|
To display a specific section and all its paragraphs, specify just the 'section' without pZ.
|
|
To display just a specific paragraph, specify the full 'section' identifier (X.YpZ).
|
|
You may use -n # to skip to the #th match.
|
|
To list only the section numbers containing 'search text', add -list.
|
|
If both 'section' and 'search regex' are specified, then the search space will be within the specified section identifier.
|
|
</pre>
|
|
<pre> Examples:
|
|
</pre>
|
|
<pre> < pragma_> !cstd pointer value
|
|
< PBot> Displaying #1 of 64 matches: 5.1.2.2.1p1: [Program startup] If they are declared, the parameters to the
|
|
main function shall obey the following constraints: -- The value of argc shall be nonnegative. -- argv[argc]
|
|
shall be a null pointer. -- If the value of argc is greater than zero, the array members argv[0] through
|
|
argv[argc-1] inclusive shall contain pointers to st... truncated; see <a href="http://codepad.org/f2DULaGQ" class="external free" title="http://codepad.org/f2DULaGQ" rel="nofollow">http://codepad.org/f2DULaGQ</a> for full text.
|
|
</pre>
|
|
<pre> < pragma_> !cstd pointer value -list
|
|
< PBot> Sections containing 'pointer value': 5.1.2.2.1p2, 5.1.2.3p9, 6.2.5p20, 6.2.5p27, 6.3.2.1p3, 6.3.2.1p4,
|
|
6.3.2.3p2, 6.3.2.3p6, 6.5.2.1p3, 6.5.2.2p5, 6.5.2.2p6, 6.5.2.4p1, 6.5.2.4p2, 6.5.3.1p1, 6.5.3.2p3, 6.5.3.2p4,
|
|
6.5.3.3p5, 6.5.3.4p5, 6.5.6p8, 6.5.6p9, 6.5.8p5, 6.5.15p6, 6.6p7, 6.6p9, 6.7.2.2p5, 6.7.2.3p7, 6.7.2.3p3,
|
|
6.7.5.1p3, 6.7.5.2p7, 7.1.1p1, 7.1.1p4, 7.1.4p1, 7... truncated; see <a href="http://codepad.org/qQlnJYJk" class="external free" title="http://codepad.org/qQlnJYJk" rel="nofollow">http://codepad.org/qQlnJYJk</a> for full text.
|
|
</pre>
|
|
<pre> < pragma_> Hmm, how about just section 6.3?
|
|
</pre>
|
|
<pre> < pragma_> !cstd pointer value 6.3
|
|
< PBot> Displaying #1 of 4 matches: 6.3.2.1p1: [Lvalues, arrays, and function designators] Except when it is the operand
|
|
of the sizeof operator or the unary & operator, or is a string literal used to initialize an array, an expression
|
|
that has type ``array of type<i> is converted to an expression with type ``pointer to type</i> that points to the
|
|
initial element of the array ob... truncated; see <a href="http://codepad.org/mf1RNnr2" class="external free" title="http://codepad.org/mf1RNnr2" rel="nofollow">http://codepad.org/mf1RNnr2</a> for full text.
|
|
</pre>
|
|
<pre> < pragma_> !cstd pointer value 6.3 -list
|
|
< PBot> Sections containing 'pointer value': 6.3.2.1p3, 6.3.2.1p4, 6.3.2.3p2, 6.3.2.3p6
|
|
</pre>
|
|
<pre> < pragma_> !cstd pointer value 6.3 -n3
|
|
< PBot> Displaying #3 of 4 matches: 6.3.2.3p1: [Pointers] For any qualifier q, a pointer to a non-q-qualified type may be
|
|
converted to a pointer to the q-qualified version of the type; the values stored in the original and converted
|
|
pointers shall compare equal.
|
|
</pre>
|
|
<a name="man"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=74" title="Edit section: man">edit</a>]</span> <span class="mw-headline">man</span></h4>
|
|
<p>Displays manpage summaries and/or C related tidbits (headers,
|
|
prototypes, specifications), as well as a link to the FreeBSD manpage.
|
|
</p>
|
|
<pre>Usage: !man [section] query
|
|
Samples:
|
|
<pragma_> !man fork
|
|
<PBot> Includes: sys/types.h, unistd.h - pid_t fork(void); - SVr4,
|
|
SVID, POSIX, X/OPEN, BSD - fork creates a child process that
|
|
differs from the parent process only in its PID and PPID, and
|
|
in the fact that resource utilizations are set to 0 -
|
|
<a href="http://www.iso-9899.info/man?fork" class="external free" title="http://www.iso-9899.info/man?fork" rel="nofollow">http://www.iso-9899.info/man?fork</a>
|
|
<pragma_> !man atexit
|
|
<PBot> Includes: stdlib.h - int atexit(void (*function)(void)); -
|
|
SVID 3, BSD 4.3, ISO 9899 - atexit () function registers the
|
|
given function to be called at normal program termination,
|
|
whetits via exit(3) or via return from the program's main -
|
|
<a href="http://www.iso-9899.info/man?atexit" class="external free" title="http://www.iso-9899.info/man?atexit" rel="nofollow">http://www.iso-9899.info/man?atexit</a>
|
|
<pragma_> !man getcwd
|
|
<PBot> Includes: unistd.h - char *getcwd(char *buf, size_t size); -
|
|
POSIX.1 - getcwd () function copies an absolute pathname of
|
|
the current working directory to the array pointed to by buf,
|
|
which is of length size - <a href="http://www.iso-9899.info/man?getcwd" class="external free" title="http://www.iso-9899.info/man?getcwd" rel="nofollow">http://www.iso-9899.info/man?getcwd</a>
|
|
</pre>
|
|
<a name="google"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=75" title="Edit section: google">edit</a>]</span> <span class="mw-headline">google</span></h4>
|
|
<p>Displays google results for a query.
|
|
</p>
|
|
<pre>Usage: !google [number of results] query
|
|
Samples:
|
|
<pragma_> !google brian kernighan
|
|
<PBot> brian kernighan (115,000): Brian Kernighan's Home Page:
|
|
(<a href="http://www.cs.princeton.edu/%7Ebwk/" class="external free" title="http://www.cs.princeton.edu/~bwk/" rel="nofollow">http://www.cs.princeton.edu/~bwk/</a>)
|
|
<pragma_> !google 3 brian kernighan
|
|
<PBot> brian kernighan (115,000): Brian Kernighan's Home Page:
|
|
(<a href="http://www.cs.princeton.edu/%7Ebwk/" class="external free" title="http://www.cs.princeton.edu/~bwk/" rel="nofollow">http://www.cs.princeton.edu/~bwk/</a>), An Interview with Brian
|
|
Kernighan: (<a href="http://www-2.cs.cmu.edu/%7Emihaib/kernighan-interview/" class="external free" title="http://www-2.cs.cmu.edu/~mihaib/kernighan-interview/" rel="nofollow">http://www-2.cs.cmu.edu/~mihaib/kernighan-interview/</a>),
|
|
Interview with Brian Kernighan | Linux Journal:
|
|
(<a href="http://www.linuxjournal.com/article.php?sid=7035" class="external free" title="http://www.linuxjournal.com/article.php?sid=7035" rel="nofollow">http://www.linuxjournal.com/article.php?sid=7035</a>), Brian W.
|
|
Kernighan: (<a href="http://www.lysator.liu.se/c/bwk/" class="external free" title="http://www.lysator.liu.se/c/bwk/" rel="nofollow">http://www.lysator.liu.se/c/bwk/</a>) ,Brian W.
|
|
Kernighan: Programming in C: A Tutorial:
|
|
(<a href="http://www.lysator.liu.se/c/bwk-tutor.html" class="external free" title="http://www.lysator.liu.se/c/bwk-tutor.html" rel="nofollow">http://www.lysator.liu.se/c/bwk-tutor.html</a>)
|
|
</pre>
|
|
<a name="define.2Fdict"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=76" title="Edit section: define/dict">edit</a>]</span> <span class="mw-headline">define/dict</span></h4>
|
|
<p>Displays dictionary defintions from <a href="http://dict.org/" class="external free" title="http://dict.org" rel="nofollow">http://dict.org</a> using DICT protocol.
|
|
</p><p>Databases for the -d option are listed itse: <a href="http://blackitll.com/%7Emsmud/PBot/dict_databases.txt" class="external free" title="http://blackitll.com/~msmud/PBot/dict_databases.txt" rel="nofollow">http://blackitll.com/~msmud/PBot/dict_databases.txt</a>
|
|
</p>
|
|
<pre> Usage: dict [-d database] [-n start from definition number] [-t first letter of word class type (n]oun, v]erb, etc)]
|
|
[-search <regex> for definitions matching <regex>] <word>
|
|
</pre>
|
|
<pre> Examples:
|
|
</pre>
|
|
<pre> <pragma_> dict hit
|
|
<PBot> hit: n: 1) (baseball) a successful stroke in an athletic contest (especially in baseball);
|
|
"he came all the way around on Williams' hit", 2) the act of contacting one thing with anotits;
|
|
"repeated hitting raised a large bruise"; "after three misses it finally got a hit" [syn: hitting,
|
|
striking], 3) a conspicuous success; "that song was his first hit and marked the beginning of his
|
|
career"; "that new Broadway show is a real smasits"
|
|
</pre>
|
|
<pre> <pragma_> dict -n 4 hit
|
|
<PBot> hit: n: 4) (physics) an brief event in which two or more bodies come togetits; "the collision of the
|
|
particles resulted in an exchange of energy and a change of direction" [syn: collision], 5) a dose
|
|
of a narcotic drug, 6) a murder carried out by an underworld syndicate; "it has all the earmarks of
|
|
a Mafia hit", 7) a connection made via the internet to anotits website; "WordNet gets many hits from
|
|
users worldwide"
|
|
</pre>
|
|
<pre> <pragma_> dict -t v hit
|
|
<PBot> hit: v: 1) cause to move by striking; "hit a ball", 2) hit against; come into sudden contact with;
|
|
"The car hit a tree"; "He struck the table with his elbow" [syn: strike, impinge on, run into,
|
|
collide with] [ant: miss], 3) affect or afflict suddenly, usually adversely; "We were hit by really
|
|
bad weatits"; "He was stricken with cancer when he was still a teenager"; "The earthquake struck at
|
|
midnight" [syn: strike], 4) deal a blow to
|
|
</pre>
|
|
<pre> <pragma_> dict -search ball hit
|
|
<PBot> hit: n: 1) (baseball) a successful stroke in an athletic contest (especially in baseball); "he came all
|
|
the way around on Williams' hit", v: 1) cause to move by striking; "hit a ball"
|
|
</pre>
|
|
<pre> <pragma_> dict -d eng-fra hit
|
|
<PBot> hit: 1) [hit] battre, frapper, heurter frapper, heurter atteindre, frapper, parvenir, saisir
|
|
</pre>
|
|
<a name="gdict"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=77" title="Edit section: gdict">edit</a>]</span> <span class="mw-headline">gdict</span></h4>
|
|
<p>Displays dictionary definitions from <a href="http://google.com%27s/" class="external free" title="http://google.com's" rel="nofollow">http://google.com's</a> define:<entry> search.
|
|
</p>
|
|
<pre>Usage: !gdict query
|
|
</pre>
|
|
<a name="udict"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=78" title="Edit section: udict">edit</a>]</span> <span class="mw-headline">udict</span></h4>
|
|
<p>Displays dictionary definitions from <a href="http://urbandictionary.com/" class="external free" title="http://urbandictionary.com" rel="nofollow">http://urbandictionary.com</a>.
|
|
</p>
|
|
<pre>Usage: !udict query
|
|
</pre>
|
|
<a name="wdict"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=79" title="Edit section: wdict">edit</a>]</span> <span class="mw-headline">wdict</span></h4>
|
|
<p>Displays Wikipedia article abstracts (first paragraph). Note: case-sensitive and very picky.
|
|
</p>
|
|
<pre>Usage: !wdict query
|
|
</pre>
|
|
<a name="acronym"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=80" title="Edit section: acronym">edit</a>]</span> <span class="mw-headline">acronym</span></h4>
|
|
<p>Displays expanded acronyms.
|
|
</p>
|
|
<pre>Usage: !acronym query
|
|
Samples:
|
|
<pragma_> !acronym posix
|
|
<PBot> posix (3 entries): Portable Operating System for
|
|
Information Exchange, Portable Operating System Interface
|
|
Extensions (IBM), Portable Operating System Interface for
|
|
Unix
|
|
<pragma_> !acronym linux
|
|
<PBot> linux (1 entries): Linux Is Not UniX
|
|
</pre>
|
|
<a name="weatits"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=81" title="Edit section: weatits">edit</a>]</span> <span class="mw-headline">weatits</span></h4>
|
|
<p>Displays current conditions and forecasts. (Note: currently half-broken.)
|
|
</p>
|
|
<pre>Usage: !weatits zipcode or !weatits city, state, country
|
|
Samples:
|
|
<pragma_> !weatits chicago, il
|
|
<PBot> United States, Illinois, Chicago (Updated 9:53 pm CST):
|
|
Temp: 9F/-12C (Feels like: -2F/-18C), High: 9F/-12C, Low:
|
|
9F/-12C, Sky: Mostly Cloudy, Humidity: 48%, Wind: W 8 mph,
|
|
Sunrise: 7:16 am, Sunset: 4:44 pm, Tonight: Partly cloudy
|
|
skies. Cold. Low around 5F. Winds WNW at 5 to 10 mph.
|
|
</pre>
|
|
<a name="map"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=82" title="Edit section: map">edit</a>]</span> <span class="mw-headline">map</span></h4>
|
|
<p>Displays nearby locations to provided location (for use with .weatits).
|
|
</p>
|
|
<pre>Usage: !map zipcode or .map city, state, country
|
|
Samples:
|
|
<pragma_> !map chicago, il
|
|
<PBot> United States, Illinois, Chicago - Nearby Locations: Fox
|
|
Valley, Chicago/Meigs Field, Cicero, Chicago/Midway Arpt,
|
|
Berwyn, Oak Park,
|
|
</pre>
|
|
<a name="gspy"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=83" title="Edit section: gspy">edit</a>]</span> <span class="mw-headline">gspy</span></h4>
|
|
<p>Displays recent search queries for a popular search engine.
|
|
</p>
|
|
<pre>Usage: !gspy
|
|
Samples:
|
|
<pragma_> !gspy
|
|
<PBot> Recent search queries: cranberry mall, westminster,
|
|
architectural styles in glens falls, architectural styles
|
|
in glens falls, cameras, dayh-f036n090a, virgin valley art
|
|
association, spacemaker heat shield, calvinist, video
|
|
capture software, subaru wrx performance modifications
|
|
</pre>
|
|
<a name="math"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=84" title="Edit section: math">edit</a>]</span> <span class="mw-headline">math</span></h4>
|
|
<p>Extremely basic calculations.
|
|
</p>
|
|
<pre>Usage: !math expression
|
|
Samples:
|
|
<pragma_> !math 5 + 5
|
|
<PBot> 5 + 5 = 10
|
|
</pre>
|
|
<a name="compliment"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=85" title="Edit section: compliment">edit</a>]</span> <span class="mw-headline">compliment</span></h4>
|
|
<p>Displays a random Markov-chain compliment/insult.
|
|
</p>
|
|
<pre>Usage: !compliment [nick]
|
|
</pre>
|
|
<a name="insult"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=86" title="Edit section: insult">edit</a>]</span> <span class="mw-headline">insult</span></h4>
|
|
<p>Displays a random insult.
|
|
</p>
|
|
<pre>Usage: !insult [nick]
|
|
</pre>
|
|
<a name="excuse"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=87" title="Edit section: excuse">edit</a>]</span> <span class="mw-headline">excuse</span></h4>
|
|
<p>Displays a random excuse.
|
|
</p>
|
|
<pre>Usage: !excuse [nick]
|
|
</pre>
|
|
<a name="horoscope"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=88" title="Edit section: horoscope">edit</a>]</span> <span class="mw-headline">horoscope</span></h4>
|
|
<p>Displays a horoscope for a Zodiac sign (google this if you don't know your sign).
|
|
</p>
|
|
<pre>Usage: !horoscope <sign>
|
|
</pre>
|
|
<a name="quote"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=89" title="Edit section: quote">edit</a>]</span> <span class="mw-headline">quote</span></h4>
|
|
<p>Displays quotes from a popular quotation database. If you
|
|
use !quote without arguments, it returns a random quote; if you use
|
|
it
|
|
with an argument, it searches for quotes containing that text; if you
|
|
add --author <name> at the end, it searches for a quote by
|
|
that author; if you specify text and --author, it searches for quotes by
|
|
that author, containing that text.
|
|
</p>
|
|
<pre>Usage: !quote [search text] [--author <author name>]
|
|
Samples:
|
|
<pragma_> !quote
|
|
<PBot> "Each success only buys an admission ticket to a more difficult problem." -- Henry Kissinger (1923 - ). Discuss!
|
|
<pragma_> !quote --author lao tzu
|
|
<PBot> 41 matching quotes found. "A journey of a thousand miles begins with a single step." -- Lao-tzu (604 BC - 531 BC). Discuss!
|
|
<pragma_> !quote butterfly
|
|
<PBot> 11 matching quotes found. "A chinese philosopits once had a dream that he was a butterfly. From that day on, he
|
|
was never quite certain that he was not a butterfly, dreaming that he was a man." -- Unknown. Discuss!
|
|
</pre>
|
|
<a name="Informative"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=90" title="Edit section: Informative">edit</a>]</span> <span class="mw-headline">Informative</span></h3>
|
|
<a name="list"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=91" title="Edit section: list">edit</a>]</span> <span class="mw-headline">list</span></h4>
|
|
<p>Lists information about specified argument
|
|
</p>
|
|
<pre>Usage: .list <modules|factoids|commands|admins>
|
|
</pre>
|
|
<a name="info"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=92" title="Edit section: info">edit</a>]</span> <span class="mw-headline">info</span></h4>
|
|
<p>Shows detailed information about a module or a factoid
|
|
</p>
|
|
<pre> Usage: .info <module|factoid>
|
|
</pre>
|
|
<a name="version"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=93" title="Edit section: version">edit</a>]</span> <span class="mw-headline">version</span></h4>
|
|
<p>Shows version information
|
|
</p>
|
|
<a name="source"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=94" title="Edit section: source">edit</a>]</span> <span class="mw-headline">source</span></h4>
|
|
<p>Shows PBot's source information.<br>Source for PBot: <a href="http://pragma.homeip.net/stuff/scripts/pbot2.pl" class="external free" title="http://pragma.homeip.net/stuff/scripts/pbot2.pl" rel="nofollow">http://pragma.homeip.net/stuff/scripts/pbot2.pl</a>.
|
|
</p>
|
|
<a name="help"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=95" title="Edit section: help">edit</a>]</span> <span class="mw-headline">help</span></h4>
|
|
<p>Shows link to this page.
|
|
</p>
|
|
<a name="Administrative"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=96" title="Edit section: Administrative">edit</a>]</span> <span class="mw-headline">Administrative</span></h3>
|
|
<a name="login"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=97" title="Edit section: login">edit</a>]</span> <span class="mw-headline">login</span></h4>
|
|
<p>You cannot use any of the admin commands unless you login first
|
|
</p>
|
|
<pre> Usage: login <password>
|
|
</pre>
|
|
<p>Note that login requires that your nick and hostmask match PBot's records.
|
|
</p>
|
|
<a name="logout"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=98" title="Edit section: logout">edit</a>]</span> <span class="mw-headline">logout</span></h4>
|
|
<p>Logs out of PBot.
|
|
</p>
|
|
<a name="ignore"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=99" title="Edit section: ignore">edit</a>]</span> <span class="mw-headline">ignore</span></h4>
|
|
<p>Ignore a user
|
|
</p>
|
|
<pre>Usage: !ignore <hostmask> [channel] [timeout]
|
|
</pre>
|
|
<a name="unignore"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=100" title="Edit section: unignore">edit</a>]</span> <span class="mw-headline">unignore</span></h4>
|
|
<p>Unignores a user
|
|
</p>
|
|
<pre>Usage: !unignore <hostmask> [channel]
|
|
</pre>
|
|
<a name="ban"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=101" title="Edit section: ban">edit</a>]</span> <span class="mw-headline">ban</span></h4>
|
|
<p>Bans a user
|
|
</p>
|
|
<pre> Usage: !ban <hostmask> [timeout seconds]
|
|
</pre>
|
|
<p>If timeout is omitted, PBot will ban the user for one hour. Timeout is in seconds.
|
|
</p>
|
|
<a name="unban"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=102" title="Edit section: unban">edit</a>]</span> <span class="mw-headline">unban</span></h4>
|
|
<p>Unbans a user
|
|
</p>
|
|
<pre> Usage:
|
|
!unban <hostmask>
|
|
</pre>
|
|
<p>Note that <hostmask> must EXACTLY match the hostmask in the ban list for the channel.
|
|
</p>
|
|
<a name="kick"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=103" title="Edit section: kick">edit</a>]</span> <span class="mw-headline">kick</span></h4>
|
|
<p>Removes a nick from the channel
|
|
</p>
|
|
<pre> Usage: !kick <nick> <reason>
|
|
</pre>
|
|
<p>Must be used in the channel.
|
|
</p>
|
|
<a name="export"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=104" title="Edit section: export">edit</a>]</span> <span class="mw-headline">export</span></h4>
|
|
<p>exports specified list to web page
|
|
</p>
|
|
<pre>Usage: !export <commands|factoids|admins|channels>
|
|
</pre>
|
|
<a name="Flood_control"></a><h2><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=105" title="Edit section: Flood control">edit</a>]</span> <span class="mw-headline">Flood control</span></h2>
|
|
<p>PBot can monitor the channel for excessive rapid traffic
|
|
originating from an individual and automatically ban the offender for a
|
|
certain length of time.
|
|
</p>
|
|
<a name="Message_flood"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=106" title="Edit section: Message flood">edit</a>]</span> <span class="mw-headline">Message flood</span></h3>
|
|
<p>If four (4) or more messages are sent within ten (10) seconds, the
|
|
flood control is triggered. The offender will be quieted for 30 seconds
|
|
for the first offense. Each additional offense will result in the
|
|
offender being quieted for much longer period. For example, the first
|
|
offense will result in 30 seconds, the 2nd offense will be 5 minutes,
|
|
the 3rd will be 1 hour, and so on.
|
|
</p>
|
|
<a name="Join_flood"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=107" title="Edit section: Join flood">edit</a>]</span> <span class="mw-headline">Join flood</span></h3>
|
|
<p>If four (4) or more JOINs are observed within thirty (30) minutes <b>without any messages in between joins</b>, the offender will be forwarded to anotits channel for a limited time: 2^(number_of_offenses + 2) hours.
|
|
</p><p>In addition to private instructions from PBot, this channel
|
|
will have a /topic and ChanServ on-join message with instructions
|
|
explaining to the offender how to remove the forwarding. The
|
|
instructions are to message PBot with: unbanme <channel>.
|
|
</p><p>(Any messages sent to the public channel by the user at any time will reset their JOIN counter back to zero.)
|
|
</p>
|
|
<a name="Notification_message"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=108" title="Edit section: Notification message">edit</a>]</span> <span class="mw-headline">Notification message</span></h3>
|
|
<p>PBot will send the following message to the offender each offense.
|
|
</p>
|
|
<a name="Chat_flooding"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=109" title="Edit section: Chat flooding">edit</a>]</span> <span class="mw-headline">Chat flooding</span></h4>
|
|
<p>"You have been quieted due to flooding. Please use a web paste service such as <a href="http://codepad.org/" class="external free" title="http://codepad.org" rel="nofollow">http://codepad.org</a> for lengthy pastes. You will be allowed to speak again in ### seconds."
|
|
</p>
|
|
<a name="Join_flooding"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=110" title="Edit section: Join flooding">edit</a>]</span> <span class="mw-headline">Join flooding</span></h4>
|
|
<p>"You have been banned from $channel for $timeout due to join
|
|
flooding. If your connection issues have been resolved, or this was an
|
|
accident, you may request an unban at any time by responding to this
|
|
message with: unbanme $channel"
|
|
</p>
|
|
<a name="Opping.2FDeopping"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=111" title="Edit section: Opping/Deopping">edit</a>]</span> <span class="mw-headline">Opping/Deopping</span></h3>
|
|
<p>ChanServ will automagically op and deop PBot when necessary.
|
|
PBot will wait until about 5 minutes have elapsed before requesting a
|
|
deop from ChanServ.
|
|
</p>
|
|
<hr>
|
|
<p><a href="http://www.iso-9899.info/wiki/Category_IRC" title="Category IRC">Category IRC</a>
|
|
</p>
|
|
<!-- Saved in parser cache with key wikidb:pcache:idhash:935-0!1!0!!en! and timestamp 20110201011419 -->
|
|
<div class="printfooter">
|
|
Retrieved from "<a href="http://www.iso-9899.info/wiki/PBot">http://www.iso-9899.info/wiki/PBot</a>"</div>
|
|
<!-- end content -->
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="column-one">
|
|
<div id="p-cactions" class="portlet">
|
|
<h5>Views</h5>
|
|
<div class="pBody">
|
|
<ul>
|
|
<li id="ca-nstab-main" class="selected"><a href="http://www.iso-9899.info/wiki/PBot" title="View the content page [c]" accesskey="c">Article</a></li>
|
|
<li id="ca-talk"><a href="http://www.iso-9899.info/wiki/Talk:PBot" title="Discussion about the content page [t]" accesskey="t">Discussion</a></li>
|
|
<li id="ca-edit"><a href="http://www.iso-9899.info/wiki?title=PBot&action=edit" title="You can edit this page. Please use the preview button before saving. [e]" accesskey="e">Edit</a></li>
|
|
<li id="ca-history"><a href="http://www.iso-9899.info/wiki?title=PBot&action=history" title="Past versions of this page. [h]" accesskey="h">History</a></li>
|
|
<li id="ca-unprotect"><a href="http://www.iso-9899.info/wiki?title=PBot&action=unprotect">unprotect</a></li>
|
|
<li id="ca-delete"><a href="http://www.iso-9899.info/wiki?title=PBot&action=delete" title="Delete this page [d]" accesskey="d">Delete</a></li>
|
|
<li id="ca-move"><a href="http://www.iso-9899.info/wiki/Special:Movepage/PBot" title="Move this page [m]" accesskey="m">Move</a></li>
|
|
<li id="ca-watch"><a href="http://www.iso-9899.info/wiki?title=PBot&action=watch" title="Add this page to your watchlist [w]" accesskey="w">Watch</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="portlet" id="p-personal">
|
|
<h5>Personal tools</h5>
|
|
<div class="pBody">
|
|
<ul>
|
|
<li id="pt-userpage"><a href="http://www.iso-9899.info/wiki/User:Pragma" title="My user page [.]" accesskey="." class="new">Pragma</a></li>
|
|
<li id="pt-mytalk"><a href="http://www.iso-9899.info/wiki/User_talk:Pragma" title="My talk page [n]" accesskey="n">My talk</a></li>
|
|
<li id="pt-preferences"><a href="http://www.iso-9899.info/wiki/Special:Preferences" title="My preferences">My preferences</a></li>
|
|
<li id="pt-watchlist"><a href="http://www.iso-9899.info/wiki/Special:Watchlist" title="The list of pages you're monitoring for changes [l]" accesskey="l">My watchlist</a></li>
|
|
<li id="pt-mycontris"><a href="http://www.iso-9899.info/wiki/Special:Contributions/Pragma" title="List of my contributions [y]" accesskey="y">My contributions</a></li>
|
|
<li id="pt-logout"><a href="http://www.iso-9899.info/wiki?title=Special:Userlogout&returnto=PBot" title="Log out">Log out</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="portlet" id="p-logo">
|
|
<a style="background-image: url("/wiki.png");" href="http://www.iso-9899.info/wiki/Main_Page" title="Visit the Main Page [z]" accesskey="z"></a>
|
|
</div>
|
|
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
|
|
<div class="portlet" id="p-navigation">
|
|
<h5>Navigation</h5>
|
|
<div class="pBody">
|
|
<ul>
|
|
<li id="n-mainpage"><a href="http://www.iso-9899.info/wiki/Main_Page" title="Visit the Main Page [z]" accesskey="z">Main Page</a></li>
|
|
<li id="n-portal"><a href="http://www.iso-9899.info/wiki/C:Community_Portal" title="About the project, what you can do, witse to find things">Community portal</a></li>
|
|
<li id="n-currentevents"><a href="http://www.iso-9899.info/wiki/Current_events" title="Find background information on current events">Current events</a></li>
|
|
<li id="n-recentchanges"><a href="http://www.iso-9899.info/wiki/Special:Recentchanges" title="The list of recent changes in the wiki. [r]" accesskey="r">Recent changes</a></li>
|
|
<li id="n-randompage"><a href="http://www.iso-9899.info/wiki/Special:Random" title="Load a random page [x]" accesskey="x">Random page</a></li>
|
|
<li id="n-help"><a href="http://www.iso-9899.info/wiki/Help:Contents" title="The place to find out.">Help</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div id="p-search" class="portlet">
|
|
<h5><label for="searchInput">Search</label></h5>
|
|
<div id="searchBody" class="pBody">
|
|
<form action="/wiki/Special:Search" id="searchform"><div>
|
|
<input id="searchInput" name="search" title="Search C [f]" accesskey="f" type="text">
|
|
<input name="go" class="searchButton" id="searchGoButton" value="Go" type="submit">
|
|
<input name="fulltext" class="searchButton" id="mw-searchButton" value="Search" type="submit">
|
|
</div></form>
|
|
</div>
|
|
</div>
|
|
<div class="portlet" id="p-tb">
|
|
<h5>Toolbox</h5>
|
|
<div class="pBody">
|
|
<ul>
|
|
<li id="t-whatlinksitse"><a href="http://www.iso-9899.info/wiki/Special:Whatlinksitse/PBot" title="List of all wiki pages that link itse [j]" accesskey="j">What links itse</a></li>
|
|
<li id="t-recentchangeslinked"><a href="http://www.iso-9899.info/wiki/Special:Recentchangeslinked/PBot" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li>
|
|
<li id="t-specialpages"><a href="http://www.iso-9899.info/wiki/Special:Specialpages" title="List of all special pages [q]" accesskey="q">Special pages</a></li>
|
|
<li id="t-print"><a href="http://www.iso-9899.info/wiki?title=PBot&printable=yes" title="Printable version of this page [p]" accesskey="p">Printable version</a></li> <li id="t-permalink"><a href="http://www.iso-9899.info/wiki?title=PBot&oldid=8675" title="Permanent link to this version of the page">Permanent link</a></li> </ul>
|
|
</div>
|
|
</div>
|
|
</div><!-- end of the left (by default at least) column -->
|
|
<div class="visualClear"></div>
|
|
<div id="footer">
|
|
<div id="f-poweredbyico"><a href="http://www.mediawiki.org/"><img src="PBot_files/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki"></a></div>
|
|
<ul id="f-list">
|
|
<li id="lastmod"> This page was last modified 01:13, 1 February 2011.</li>
|
|
<li id="viewcount">This page has been accessed 10,086 times.</li>
|
|
<li id="privacy"><a href="http://www.iso-9899.info/wiki/C:Privacy_policy" title="C:Privacy policy">Privacy policy</a></li>
|
|
<li id="about"><a href="http://www.iso-9899.info/wiki/C:About" title="C:About">About C</a></li>
|
|
<li id="disclaimer"><a href="http://www.iso-9899.info/wiki/C:General_disclaimer" title="C:General disclaimer">Disclaimers</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
|
|
</div>
|
|
<!-- Served in 0.158 secs. --></body></html>
|