##### GLOBAL VARIABLES
### Scalar variable.
$who		=> Process.pl#7:
$msgType	=> Process.pl#7:
$message	=> Process.pl#7:
$origWho	=> Process.pl#12: untouched $who variable.
$origMessage	=> Process.pl#13: untouched $message variable.
$origIn		=> Question.pl#15: (my) successful (not repeated) asked factoid
$who		=> Process.pl#6:
$message	=> Process.pl#6:
$nuh		=> Irc.pl#279: nick-user-host
$userHandle	=> User.pl: handle which nick is registered under.
### Array.
### Hash lists.
%channels	=> $channels{$channel}{$mode}{$nick}
%chanstats	=> $chanstats{$channel}{TYPE}
%cmdstats	=> $cmdstats{TYPE}
%userList	=> $userList{$user}{$type}
%userList	=> $userList{$user}{'mask'}{$what} = 1;
#####

### Thorough check and cleanup of... (comments need to be read though)
Process.pl		19991128
Irc.pl			19991128
Misc.pl			19991128



### Address testing with the "new" code.
### nick == $1, text = $'
blah erp		good
blah erp erp		good
blah:erp		good... about time got it to work.
blah:erp erp		good... ditto
blah :erp		good
blah :erp erp		good
blah : erp		good
blah : erp erp		good
blah  : erp		good
blah  : erp erp		good
blah  :  erp		good
blah  :  erp erp	good

unfski erp		good
unfski erp erp		good
unfski:erp		hrm... good :)
unfski:erp erp		hrm... good :)
unfski :erp		good
unfski :erp erp		good
unfski : erp		good
unfski : erp erp		good
unfski  : erp		good
unfski  : erp erp		good
unfski  :  erp		good
unfski  :  erp erp	good

### some notes...
&DoModes($chan,$modes,$targets);
&DeleteUserInfo($nick,@chans);
# NOTE: subhash list can only be deleted with "delete" not with "undef".
foreach $chan (keys %channels) {
foreach $mode (keys %{$channels{$chan}}) {
foreach $user (keys %{$channels{$chan}{$mode}}) {

### &DeleteUserInfo().
# DUI:	type	working		fix
#	part	yes		undef=>delete
#	sign	yes		fe loops=>DUI($n,%c);
#	nick	yes		undef=>delete
#	kill	...		...
###

###
### Soon to be new format of factoid.db, or at least infobot-extra.db
###
[factoid key] -> [created].[modified].[requests].[locked]
		    |	      |		  |         |
		[who by]   [who by]    [who by]  [who by]
		 [time]     [time]     [time]     [time]
				       [count]

$db{'key'}    = $created_by	.$;. $created_time	.$;$;.
		$modified_by	.$;. $modified_time	.$;$;.
		$request_by	.$;. $request_time	.$;. $request_count .$;$;.
		$locked_by	.$;. $locked_time;

factoid can only be unlocked by creator. possibly need to be matched
against nick || user@*.x.org || user@x.y.z.*

#####
# forget: factoid locking		half-done TODO
# factoid query				DONE.
# factoid update (2 create; 4 modify)	DONE.
#####

raw: ..... KICK #tnflesh damagick :i can do this too
940445681 [12632] >>> [1mtoo[0m was kicked off [1m#tnflesh damagick :i \
	can do this[0m by [1mChimmy[0m ([1mP[0m)
my ($kicker, $chan, $knick, $why) = @_;
    $1       $2     $4      $5

("Op",          yes
"Deop",         yes
"Ban",          yes
"Unban",        yes
"Topic",        yes
"Kick",         yes
"PublicMsg"     yes
"Part",         yes
"SignOff",      yes
"Join"          yes
