Archiv verlassen und diese Seite im Standarddesign anzeigen : [Gelöst] [Eggdrop] ON JOIN Nachricht
Hallo gibt es eine möglichkeit tcl script zu machen das jedem benutzer der in den kanal kommt eine nachricht ins kanal schreibt aber nur den benutzern die per chanserv kein @ bekommen also es kommen ja auch benutzer ins kanal rein und bekommen @ von chanserv also diesen benutzer soll dann keine nachricht schreiben.
wie geht denn das gruss
Hallo gibt es eine möglichkeit tcl script zu machen das jedem benutzer der in den kanal kommt eine nachricht ins kanal schreibt aber nur den benutzern die per chanserv kein @ bekommen also es kommen ja auch benutzer ins kanal rein und bekommen @ von chanserv also diesen benutzer soll dann keine nachricht schreiben.
wie geht denn das gruss
das hoert sich in meinem ohren sehr nach einem script zum spammen in einem channel an ... :mauer: aber versuchs mal mit timern :P
Hallo,
ja, mit einem timer lässt sich das machen
als erstes registrierst du ein join, nach 2-3 sekunden schaust du ob der Nick op hat, wenn nicht putserv "privmsg $chan :Du hast kein op.."
Allerdings ist das wie Izlots sagte, ziemlicher spam...
ja aber da ich keine ahnung von tcl habe ;)
ist es scher sowas zu machen
bind join - "*" proc_poruka
proc proc_poruka {nick host handl chan} {
timer 10
if {$nick == "@ bekommt von chanserv"} {
} else {
putserv "PRIVMSG $chan:text text"
}
also kann mir das jemand verbessern :)
ChaosKrieger
06.09.2005, 16:47
Hallo gibt es eine möglichkeit tcl script zu machen das jedem benutzer der in den kanal kommt eine nachricht ins kanal schreibt aber nur den benutzern die per chanserv kein @ bekommen also es kommen ja auch benutzer ins kanal rein und bekommen @ von chanserv also diesen benutzer soll dann keine nachricht schreiben.
wie geht denn das gruss
wenn das mal kein spam script ist....
dann versuch es mal mit der access liste :D
es kann doch ein programm sein wenn jemand den kanal betretetl das man ihn bittet eine frage zu stellen?
Hallo,
bind join - "*" proc_poruka
proc proc_poruka {nick host handl chan} {
timer 10
if {$nick == "@ bekommt von chanserv"} {
} else {
putserv "PRIVMSG $chan:text text"
}
Stimmt nicht so ganz
So sollte es ca. aussehen:
bind join - "*" proc_poruka
proc proc_poruka {nick host hand chan} {
utimer seconds command
{[isop $nick $chan]} {
return 0
} else {
putserv "PRIVMSG $chan :Ich bin spam."
}
geht auch nicht
am anfang kam dieser fehler
Tcl error [proc_poruka]: no value given for parameter "text" to "proc_poruka"
dann habe ich dort oben die text variable gelöscht dannach kam dieser fehler
Tcl error [proc_poruka]: wrong # args: should be "utimer seconds command"
habe ich ein befehl reingeschreiben wie putserv
und dann kam dieser fehler
Tcl error [proc_poruka]: can't read "chan": no such variable
also irgendwass stimmt da nicht :(
da habe ich mal was geschreiben aber wie binde ich diesen timer bloß an
bind join - "*" proc_poruka
proc proc_poruka {nick host hand #yap } {
set chan #yap
if {[isop $nick $chan] == 0} {
putserv "PRIVMSG #yap :Cao Cao $nick "
} else {
return 0 }
}
putlog "Poruka is Loaded"
ChaosKrieger
08.09.2005, 17:18
der fehler steht doch dort
Tcl error [proc_poruka]: no value given for parameter "text" to "proc_poruka"
ja mh.. was heist das jetzt nur?
genau, das beim joinen kein text übergeben wird
also wie lösen?
der fehler steht doch dort
Tcl error [proc_poruka]: no value given for parameter "text" to "proc_poruka"
ja mh.. was heist das jetzt nur?
genau, das beim joinen kein text übergeben wird
also wie lösen?
beim joinen text übergeben aber wie???? wenn ich es wüsste würde ich es doch machen?
ChaosKrieger
08.09.2005, 19:25
nein, eben nicht
proc proc_poruka {nick host handl chan} {
so, und nicht anderst, da hat ind00r etwas mist gebaut :D
nein, eben nicht
proc proc_poruka {nick host handl chan} {
so, und nicht anderst, da hat ind00r etwas mist gebaut :D
also wie ich das mitbekommen habe wirkt ja dieses skript auf alle kanäle in dem sich der bot befindet also wenn der bot mehr als in einem kanal ist dann sagt er in jedem kanal das.
Wie kan man das beschränken das er nur die joins von einem kanal wahr nimmt und die message auch in dem kanal hinschreibt
Jetzt habe ich das geändert was du geschrieben hast und nun bekomme ich diesen schönen fehler
Tcl error in script for 'timer1':
invalid command name "command"
Tcl error [proc_poruka]: invalid command name "[isop $nick $chan]"
Ja sorry wegen dem text, hab das "geschwind" geschrieben ohne viel zu denken *g*
Ich hatte doch geschrieben
if {[isop $nick $chan]} geht bei mir...
eventuell das == 0 wegmachen...?
Bzw warum hast du das hingemacht?
übersetzt:
Falls ist op $nick in $chan mache bla...
utimer seconds command
Da solltest du eventuell noch was ersetzen
utimer <zahl> <was zu tun ist nach der zeit>
Ja sorry wegen dem text, hab das "geschwind" geschrieben ohne viel zu denken *g*
Ich hatte doch geschrieben
if {[isop $nick $chan]} geht bei mir...
eventuell das == 0 wegmachen...?
Bzw warum hast du das hingemacht?
übersetzt:
Falls ist op $nick in $chan mache bla...
utimer seconds command
Da solltest du eventuell noch was ersetzen
utimer <zahl> <was zu tun ist nach der zeit>
ne ne da habe ich mir selber gedanken gemacht hat nixt mit deinem prog. zu tun.Weil ich ahbe gelesen wenn isop eine 0 zurück gibt dann ist es kein @ bei einer 1 ist es ein @ das hat auch funktioniert bloß der timer fählt.
Aber dein proggi funktioniert überhaupt nicht ;)
if {[isop $nick $chan]} <-- funtkioniert 100%
ChaosKrieger
10.09.2005, 20:23
isop <nickname> [channel] Returns: 1 if someone by the specified nickname is on the channel (or any channel if no channel name is specified) and has ops; 0 otherwise
Module: irc
das module ist standart, also sollte es auch bei dir funktionieren ;)
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.