mirror of
				https://github.com/pragma-/pbot.git
				synced 2025-10-29 21:57:31 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1260 lines
		
	
	
		
			95 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1260 lines
		
	
	
		
			95 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="stylesheet" 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 = "8668";
 | |
| 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></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="#global_channel"><span class="tocnumber">2.2.2</span> <span class="toctext">global channel</span></a></li>
 | |
| <li class="toclevel-3"><a href="#Special_commands"><span class="tocnumber">2.2.3</span> <span class="toctext">Special commands</span></a>
 | |
| <ul>
 | |
| <li class="toclevel-4"><a href="#.2Fsay"><span class="tocnumber">2.2.3.1</span> <span class="toctext">/say</span></a></li>
 | |
| <li class="toclevel-4"><a href="#.2Fme"><span class="tocnumber">2.2.3.2</span> <span class="toctext">/me</span></a></li>
 | |
| <li class="toclevel-4"><a href="#.2Fcall"><span class="tocnumber">2.2.3.3</span> <span class="toctext">/call</span></a></li>
 | |
| <li class="toclevel-4"><a href="#.2Fmsg"><span class="tocnumber">2.2.3.4</span> <span class="toctext">/msg</span></a></li>
 | |
| </ul>
 | |
| </li>
 | |
| <li class="toclevel-3"><a href="#Special_variables"><span class="tocnumber">2.2.4</span> <span class="toctext">Special variables</span></a>
 | |
| <ul>
 | |
| <li class="toclevel-4"><a href="#.24nick"><span class="tocnumber">2.2.4.1</span> <span class="toctext">$nick</span></a></li>
 | |
| <li class="toclevel-4"><a href="#.24args"><span class="tocnumber">2.2.4.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.5</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="#Embedding_Newlines"><span class="tocnumber">3.2.1.5</span> <span class="toctext">Embedding Newlines</span></a></li>
 | |
| <li class="toclevel-4"><a href="#Interactive_Editing"><span class="tocnumber">3.2.1.6</span> <span class="toctext">Interactive Editing</span></a>
 | |
| <ul>
 | |
| <li class="toclevel-5"><a href="#show"><span class="tocnumber">3.2.1.6.1</span> <span class="toctext">show</span></a></li>
 | |
| <li class="toclevel-5"><a href="#paste"><span class="tocnumber">3.2.1.6.2</span> <span class="toctext">paste</span></a></li>
 | |
| <li class="toclevel-5"><a href="#run"><span class="tocnumber">3.2.1.6.3</span> <span class="toctext">run</span></a></li>
 | |
| <li class="toclevel-5"><a href="#undo"><span class="tocnumber">3.2.1.6.4</span> <span class="toctext">undo</span></a></li>
 | |
| <li class="toclevel-5"><a href="#s.2F.2F"><span class="tocnumber">3.2.1.6.5</span> <span class="toctext">s//</span></a></li>
 | |
| <li class="toclevel-5"><a href="#replace"><span class="tocnumber">3.2.1.6.6</span> <span class="toctext">replace</span></a></li>
 | |
| <li class="toclevel-5"><a href="#append"><span class="tocnumber">3.2.1.6.7</span> <span class="toctext">append</span></a></li>
 | |
| <li class="toclevel-5"><a href="#prepend"><span class="tocnumber">3.2.1.6.8</span> <span class="toctext">prepend</span></a></li>
 | |
| <li class="toclevel-5"><a href="#remove"><span class="tocnumber">3.2.1.6.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.7</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>, she 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://blackshell.com/%7Emsmud/PBot/factoids.html" class="external free" title="http://blackshell.com/~msmud/PBot/factoids.html" rel="nofollow">http://blackshell.com/~msmud/PBot/factoids.html</a>.
 | |
| </p>
 | |
| <a name="Adding_a_factoid"></a><h3><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=7" 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, which stands for all channels or global channels.</font></b>
 | |
| </p>
 | |
| <a name="factadd"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=8" 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="global_channel"></a><h4><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=9" title="Edit section: global channel">edit</a>]</span> <span class="mw-headline">global channel</span></h4>
 | |
| <p>Factoids may 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>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>
 | |
| <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 bashes 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://blackshell.com/%7Emsmud/PBot/quotegrabs.html" class="external free" title="http://blackshell.com/~msmud/PBot/quotegrabs.html" rel="nofollow">http://blackshell.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="Embedding_Newlines"></a><h5><span class="editsection">[<a href="http://www.iso-9899.info/wiki?title=PBot&action=edit&section=54" 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=55" 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=56" 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=57" 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=58" 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=59" 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=60" 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=61" 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=62" 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=63" 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=64" 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=65" 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=66" 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=67" 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=68" 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=69" 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=70" 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=71" 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=72" 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=73" 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=74" 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=75" 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://blackshell.com/%7Emsmud/PBot/dict_databases.txt" class="external free" title="http://blackshell.com/~msmud/PBot/dict_databases.txt" rel="nofollow">http://blackshell.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 she 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=76" 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=77" 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=78" 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=79" 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=80" 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=81" 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=82" 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=83" 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=84" 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=85" 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=86" 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=87" 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=88" 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=89" 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=90" 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=91" 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=92" 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=93" 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=94" 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=95" 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=96" 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=97" 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=98" 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=99" 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=100" 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=101" 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=102" 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=103" 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=104" 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=105" 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=106" 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=107" 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=108" 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=109" 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=110" 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 20110126001929 -->
 | |
| <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=8668" 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 00:13, 26 January 2011.</li>
 | |
| 				<li id="viewcount">This page has been accessed 10,018 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.191 secs. --></body></html>
 | 
