From 39a5408950ac4a11a0a78933604d0e7bb264f06e Mon Sep 17 00:00:00 2001 From: dms Date: Sat, 17 Feb 2001 13:40:57 +0000 Subject: [PATCH] - sub "op" fixed. - added sub "unban" git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@400 c11ca15a-4712-0410-83d8-924469b57eb5 --- src/IRC/Irc.pl | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/IRC/Irc.pl b/src/IRC/Irc.pl index e8e341e..f18264c 100644 --- a/src/IRC/Irc.pl +++ b/src/IRC/Irc.pl @@ -400,7 +400,7 @@ sub op { my ($chan, @who) = @_; my $os = "o" x scalar(@who); - &mode($chan, "+$os ".@who); + &mode($chan, "+$os @who"); } sub deop { @@ -443,11 +443,10 @@ sub kick { sub ban { my ($mask,$chan) = @_; - my (@chans) = ($chan eq "") ? (keys %channels) : lc($chan); + my (@chans) = ($chan =~ /^\*?$/) ? (keys %channels) : lc($chan); my $ban = 0; - &DEBUG("ban: mask = $mask, chan = $chan"); - if ($chan ne "" and &validChan($chan) == 0) { + if ($chan !~ /^\*?$/ and &validChan($chan) == 0) { &ERROR("ban: invalid channel $chan."); return; } @@ -466,6 +465,27 @@ sub ban { return $ban; } +sub unban { + my ($mask,$chan) = @_; + my (@chans) = ($chan =~ /^\*?$/) ? (keys %channels) : lc($chan); + my $ban = 0; + + &DEBUG("unban: mask = $mask, chan = @chans"); + + foreach $chan (@chans) { + if (!exists $channels{$chan}{o}{$ident}) { + &status("unBan: do not have ops on $chan :("); + next; + } + + &status("Removed ban $mask from $chan."); + &rawout("MODE $chan -b $mask"); + $ban++; + } + + return $ban; +} + sub quit { my ($quitmsg) = @_; &status("QUIT $param{'ircNick'} has quit IRC ($quitmsg)"); -- 2.39.5