![]() |
|
|||||||
| Tcl scripting Tcl scripting related questions |
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|
#1 (permalink) |
|
Junior Member
Join Date: Aug 2008
Posts: 4
Rep Power: 0 ![]() |
Sunt destul de nou in chestia asta ... si citind posturile de pe aici am gasit un tcl simplu ... pe care l-am mai modificat dupa ce am citit un tutorial de tcl-scripting dar ... nu reusesc sa`l fac sa mearga ..
Code:
bind pubm - re answ
proc answ {nick uhost hand chan text} {
putserv "privmsg $chan : re $nick"
}
)
|
|
|
|
|
|
#2 (permalink) |
|
Junior Member
Join Date: Feb 2007
Age: 16
Posts: 27
Rep Power: 0 ![]() |
Code:
bind pub - re answ
proc answ {nick uhost hand chan text} {
puthelp "PRIVMSG $chan :re $nick"
}
folosesti bind pub nu pubm si puthelp nu putserv (putserv il folosesti pt proceduri ca kick sau ban )
|
|
|
|
|
|
#3 (permalink) |
|
Junior Member
Join Date: Aug 2008
Posts: 4
Rep Power: 0 ![]() |
Bun ... corect , a mers . dar ... de ce nu pot sa folosesc putserv sau putquick ?
Ah si inca ceva ... cum pot sa bindez un event gen "is now known as Castor" iar eggdropul sa zica : "Ia uite-l si pe castor asta" ? |
|
|
|
|
|
#5 (permalink) |
|
Junior Member
Join Date: Aug 2008
Posts: 4
Rep Power: 0 ![]() |
Banuiesc ca nu asa ... ca nu merge
Code:
bind nick - Castoru act
proc act {nick chan text} {
puthelp "PRIVMSG $chan : uite-l si pe Castoru"
}
Code:
(9) NICK Routine first
bind nick [newnick] [proc]
procname [nick] [newnick] [nick!user@host]
triggered when someone changes nicknames; wildcards are allowed
|
|
|
|
|
|
#7 (permalink) |
|
Junior Member
Join Date: Aug 2008
Posts: 4
Rep Power: 0 ![]() |
bun ... asta merge ... dar daca vreau sa bindez un anume nick nu prea merge ... adica am incercat asa ... dar nu raspunde la provocari prietenu meu eggdrop
![]() Code:
bind nick - test* hello
proc hello {nick uhost hand chan newnick} {
puthelp "privmsg $chan :uite-l si pe Test asta"
}
eggdrop zice : uite-l si pe Test )Incerc sa inteleg TCL dar vad ca e cam aiurea cand nu stii sintaxe exact )Eu ziceam ... in caz ca intra 3 mech cu nick Andrei_ Andrei__ si Andrei___ sau nu zica de 3 ori "uite-l si pe Andrei asta" , la asta ma refeream ca sa nu flodeze ... |
|
|
|
|
|
#8 (permalink) |
|
#a&a representative
|
Pai scriptul se "declanseaza" cand isi schimba cineva nickname-ul, nu cand intra pe canal
![]() Deci ce zici tu ca intra 3 useri cu Andrei???, e imposibil sa floodeze pentru simplu fapt ca botul nu reactioneaza la asa ceva.
__________________
Best regards, Erised |
|
|
|
|
|
#9 (permalink) | |
|
TCB & Ratings projects Member, #Mythic representative
|
Quote:
acum sa punem in practica: Code:
set hello_nicks "nick1 nick2 nick3"
bind nick - * pub:hello
proc pub:hello {nick host hand chan new} {
global hello_nicks
foreach nick [split $hello_nicks] { if {[string match $new $nick]} { puthelp "PRIVMSG $chan :$nick si-a schimbat nick in $new" } }
}
Code:
set hello_nicks "nick1 nick2 nick3"
foreach nick [split $hello_nicks] {
bind nick - "*$nick*" pub:hello
}
proc pub:hello {nick host hand chan new} {
puthelp "PRIVMSG $chan :$nick si-a schimbat nick in $new"
}
in prima varianta setam lista cu nickuri la care vrem sa reactioneze botul, dupa care facem un bind pe nick folosind ca pattern wildcard "*" (asta face ca botul sa execute procedura pt fiecare schimbare de nick de pe canal). In procedura vom lua fiecare nick in parte si il vom compara cu variabila $new (nickul dupa schimbarea de nick). Daca acestea corespund botul va trimite mesaj pe canal cu textul dat. In exemplul al 2-lea repetam figura cu lista de nickuri, numai ca in loc sa facem un bind pe "*" vom lua fiecare nick in parte si ii vom da bind. Acum care e diferenta, ei bine in primul caz procedura se executa pentru absolut orice schimbare de nick, pe cand in cazul al 2-lea procedura se executa doar atunci cand este declansat bindul. Cat despre diferenta dintre putquick, putserv si puthelp, ei bine in principiu este recomandat sa folosesti puthelp pentru a trimite date la client gen mesaje, notc, etc, deoarece foloseste un alt tip de queue asta asigurandu-i o oarecare protectie antiflood (botul nu se va flooda singur daca am avea de exemplu un fisier de 500 de randuri pe care el ar trebui sa il listam pe canal cu puthelp). Putserv si putquick sunt ceva mai rapide, dar nu este recomandat sa fie folosite pentru trimiterea de mesaje utilizatorilor.
__________________
Fuck oFF! |
|
|
|
|
|
|
#10 (permalink) |
|
Junior Member
Join Date: Jul 2008
Age: 30
Posts: 5
Rep Power: 0 ![]() |
Code:
set hello_nicks "nick1 nick2 nick3"
bind nick - * pub:hello
proc pub:hello {nick host hand chan new} {
global hello_nicks
if {[string match *$nick* $hello_nicks]} { puthelp "PRIVMSG $chan :$nick si-a schimbat nick in $new" }
}
![]() in acest fel flexibilitatea "reactiunilor" posibile creste cu bind *, dar creste solicitarea asupra eggdropului |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| De unde schimb sa nu dea ban pe ident si ban pe ip ? | solitare | a&a light script | 0 | 31-07-2007 10:15 |