botlending forum  

Go Back   botlending forum > Eggdrop & TCL > Tcl scripting

Tcl scripting Tcl scripting related questions

Reply
 
LinkBack Thread Tools Display Modes
Old 25-08-2008, 14:42   #1 (permalink)
Junior Member
 
Join Date: Aug 2008
Posts: 4
Rep Power: 0
renu is an unknown quantity at this point
Smile unde gresesc ?

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"
}
cand scriu "re" pe canal ... domnul eggdrop nu vrea sa raspunda )
renu is offline   Reply With Quote
Old 25-08-2008, 16:37   #2 (permalink)
Junior Member
 
Normal's Avatar
 
Join Date: Feb 2007
Age: 16
Posts: 27
Rep Power: 0
Normal is an unknown quantity at this point
Default

Code:
bind pub - re answ
proc answ {nick uhost hand chan text} {
 puthelp "PRIVMSG $chan :re $nick"
}
try this folosesti bind pub nu pubm si puthelp nu putserv (putserv il folosesti pt proceduri ca kick sau ban )
Normal is offline   Reply With Quote
Old 25-08-2008, 21:04   #3 (permalink)
Junior Member
 
Join Date: Aug 2008
Posts: 4
Rep Power: 0
renu is an unknown quantity at this point
Default

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" ?
renu is offline   Reply With Quote
Old 26-08-2008, 00:46   #4 (permalink)
Junior Member
 
Normal's Avatar
 
Join Date: Feb 2007
Age: 16
Posts: 27
Rep Power: 0
Normal is an unknown quantity at this point
Default

ti-am zis dc putserv in cazul proceselor de kick sau ban puthelp folosesti pt mesaje pe canal sau privat..si pt notice merge

k sa faci ce vrei tu...folosesti bind nick kre :P
Normal is offline   Reply With Quote
Old 26-08-2008, 01:11   #5 (permalink)
Junior Member
 
Join Date: Aug 2008
Posts: 4
Rep Power: 0
renu is an unknown quantity at this point
Default

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"
}
sau daca vreau sa fie Castor* pentru ca am vazut ca suporta wildcards ....

Code:
(9)  NICK     Routine first
     bind nick [newnick] [proc]
     procname [nick] [newnick] [nick!user@host]

     triggered when someone changes nicknames; wildcards are allowed
se poate face ceva care sa nu`l flodeze in caz ca sunt Castoru1, Castoru2, Castoru3, Castoru4 sau chestii de genu ?
renu is offline   Reply With Quote
Old 26-08-2008, 15:38   #6 (permalink)
Junior Member
 
Normal's Avatar
 
Join Date: Feb 2007
Age: 16
Posts: 27
Rep Power: 0
Normal is an unknown quantity at this point
Default

Code:
bind nick - * hello
proc hello {nick uhost hand chan newnick} {
 puthelp "privmsg $chan :uite-l si pe $newnick"
}
..nu floodeaza... sper k e ce iti trebe...n-am mai folosit bind nick pan acum
Normal is offline   Reply With Quote
Old 26-08-2008, 17:25   #7 (permalink)
Junior Member
 
Join Date: Aug 2008
Posts: 4
Rep Power: 0
renu is an unknown quantity at this point
Default

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"
}
Sau daca nu cu wildcard , macar ca exemplu sa fie nickul test si atat . Scenariul : xxxx is known as Test
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 ...
renu is offline   Reply With Quote
Old 29-08-2008, 00:50   #8 (permalink)
#a&a representative
 
Erised's Avatar
 
Join Date: Jun 2004
Location: 127.0.0.1
Age: 20
Posts: 169
Rep Power: 0
Erised is an unknown quantity at this point
Send a message via MSN to Erised Send a message via Yahoo to Erised
Default

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
Erised is offline   Reply With Quote
Old 29-08-2008, 10:45   #9 (permalink)
TCB & Ratings projects Member, #Mythic representative
 
arcade's Avatar
 
Join Date: Jun 2004
Location: In fatza calculatorului!!
Age: 19
Posts: 221
Rep Power: 37
arcade is on a distinguished road
Send a message via Yahoo to arcade
Default

Quote:
(13) NICK (stackable)
bind nick <flags> <mask> <proc>
procname <nick> <user@host> <handle> <channel> <newnick>
un mic citat din tcl-commands.doc

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" } }
}
sau altfel:

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"
}
acum explicatiile:

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!
arcade is offline   Reply With Quote
Old 30-08-2008, 01:54   #10 (permalink)
hwk
Junior Member
 
Join Date: Jul 2008
Age: 30
Posts: 5
Rep Power: 0
hwk is an unknown quantity at this point
Post

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" } 

}
cu string match ce are?


in acest fel flexibilitatea "reactiunilor" posibile creste cu bind *, dar creste solicitarea asupra eggdropului
hwk is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

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


All times are GMT +3. The time now is 12:25.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.