Hilfe bei Message senden bei einem Ban!

coaxspi

Mitglied
Hallo alle!

Ich hab mal ne Frage, und zwar hab ich nen (kleinen) Bot laufen der einen Floodschutz hat und so, funktioniert auch alles wunderbar.

Jetzt möchte ich, das wenn der Bot bannt, er eine Message in einen bestimmten Raum schickt , so nach dem Motto

Ich habe den User username im Raum #chan gebannt.

Weiß einer wie das geht?
Mit on !*:ban: ... gehts nicht, weil er ja dann nur was meldet wenn wer anders bant, aber nicht er selber...

Vielen Danke im Vorraus

Coaxspi
 
Original geschrieben von coaxspi

Mit on !*:ban: ... gehts nicht, weil er ja dann nur was meldet wenn wer anders

Das ist auch klar, da du ein Ausrufezeichen hinter dem "on" stehen hast - das bedeutet dieses Event wird nur getriggert, wenn jemand anderes außer dir selbst einen Ban setzt.

Entweder du entfernst das Ausrufezeichen, oder du änderst deinen ban-Alias ab.
 
Hi nochmals ;-)

Also eine kleine Frage noch vllt kannste mir da auch weiterhelfen.
Und zwar wie bringe ich den Bot dazu zu sagen wen er gebannt hat? Das $bnick geht ja nur wenn ich nur den nick in Form von nickname*!*@* banne, oder wenn der nick halt mit drinsteht. Aber der Bot bant in der Form *!*@*host , geht das trotzdem irgendwie?

By
Coax
 
Hm das Script wäre da nützlich.

Auf jeden Fall musst du das per $ialchan machen. Wenn du den ersten zutreffenden Nick haben willst:

Code:
$ialchan($chan,$banmask,1).nick

Für alle Nicks:

Code:
var %x = 1,%y
while (%x <= $ialchan($chan,$banmask,0)) {
 var %y = %y $+ $ialchan($chan,$banmask,%x).nick $+ $chr(44)
 inc %x
}
echo Banned Users: %y
 
Hi!

Hm, ich glaube ich bin zu doof dafür ;) ......

Also im Moment hab ich das so

Code:
on *:ban:#:{
if ($server == irc.serv.er) /msg #debug 4Ban set: Im Chan $chan wurde $bnick von $nick gebannt! Hostmaske: $1-
}

Also das klappt wie gesagt, nur wird halt kein Nick angezeigt wenn nur der host gebannt wird...

Ich müsste ja für $bnick das hier $ialchan($chan,$banmask,1).nick einsetzten oder? Oder versteh ich das falsche, weil da passiert auch nix.....

Hm naja, sry das ich dich damit löcher *g*

Danke nochmal im Vorraus

coax
 
Ok, mal wieder meine Schuld - ich war mir schon beim posten leicht unsicher. (Kommt wohl davon wenn man nicht mehr scriptet) :(

Die Parameter bei $ialchan habe ich vertauscht, richtig muss es so lauten:

Code:
$ialchan($banmask,$chan,1).nick

Dein Script:

Code:
on *:ban:#:{
  var %x = 1,%y
  while (%x <= $ialchan($banmask,$chan,0)) {
    var %y = %y $+ $ialchan($banmask,$chan,%x).nick $+ $chr(44)
    inc %x
  }
  if ($server == irc.serv.er) { 
    msg #debug 4Ban set: Im Chan $chan wurde $iif(%y,%y,niemand anwesendes) von $nick gebannt! Hostmaske: $banmask
  }
}

Damit alle Nicks auch ausgegeben werden, musst du für jeden Channel (am besten beim betreten) ein "/who #channel" machen - sonst kennt dein Bot nicht alle Hosts der User.
 
Wieso macht ihrs euch so schwer? Mach doch einfach in den Event in dem du banst noch die Meldung rein.
So kannste dir des alles vereinfachen...
 

Neue Beiträge

Zurück