$message =~ s/[\cA-\c_]//ig; # strip control characters
$message =~ s/^\s+//; # initial whitespaces.
$who =~ tr/A-Z/a-z/; # lowercase.
+ my $mynick = $conn->nick();
&showProc();
if ($msgType =~ /private/) {
# private messages.
$addressed = 1;
+ if (&IsChanConf('addressCharacter')) {
+ $addressCharacter = getChanConf('addressCharacter');
+ if ($message =~ s/^\Q$addressCharacter\E//) {
+ &msg($who, "please don't use the the addressCharacter when private messaging");
+ }
+ }
} else {
# public messages.
# addressing revamped by the xk.
### below needs to be fixed...
- if (&IsParam("addressCharacter")) {
- if ($message =~ s/^\Q$param{'addressCharacter'}\E//) {
+ if (&IsChanConf('addressCharacter')) {
+ $addressCharacter = getChanConf('addressCharacter');
+ if ($message =~ s/^\Q$addressCharacter\E//) {
$addrchar = 1;
$addressed = 1;
}
if ($message =~ /^($mask{nick})([\;\:\>\, ]+) */) {
my $newmessage = $';
- if ($1 =~ /^\Q$ident\E$/i) {
+ if ($1 =~ /^\Q$mynick\E$/i) {
$message = $newmessage;
$addressed = 1;
} else {
return if ($lobotomized);
- if (scalar @who) {
- &msg($who, "you already said what ".
- join(' ', @who)." have said.");
- } else {
- &msg($who,"Someone already said that ". (time - $time) ." seconds ago" );
+ if (!scalar @who) {
+ push(@who,"Someone");
}
+ &msg($who,join(' ', @who)." already said that ". (time - $time) ." seconds ago" );
### TODO: delete old floodwarn{} keys.
my $floodwarn = 0;
}
if ($addrchar) {
- &status("$b_cyan$who$ob is short-addressing me");
+ &status("$b_cyan$who$ob is short-addressing $mynick");
} elsif ($msgType eq "private") { # private.
- &status("$b_cyan$who$ob is /msg'ing me");
+ &status("$b_cyan$who$ob is /msg'ing $mynick");
} else { # public?
- &status("$b_cyan$who$ob is addressing me");
+ &status("$b_cyan$who$ob is addressing $mynick");
}
$flood{$floodwho}{$message} = time();
$seencache{$who}{'msg'} = $orig{message};
$seencache{$who}{'msgcount'}++;
}
-
+ if (&IsChanConf("minVolunteerLength")) {
+ # FIXME hack to treat unaddressed as if using addrchar
+ $addrchar = 1;
+ }
return if ($skipmessage);
- return unless (&IsParam("minVolunteerLength") or $addressed);
+ return unless ($addrchar or $addressed);
foreach (@ignore) {
s/\*/\\S*/g;
&chanServCheck($chan);
- ### todo: unify code with chanlimitcheck()
+ ### TODO: unify code with chanlimitcheck()
return if ($delta > 5);
&status("clc: big change in limit for $chan ($delta);".
}
# check for first hash then for next hash.
- # todo: a function for &ischanop()? &isvoice()?
+ # TODO: a function for &ischanop()? &isvoice()?
if (exists $channels{$chan} and exists $channels{$chan}{'o'}{$ident}) {
return 0;
}