This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

How get TCL doing standard mIRC script?

Old posts that have not been replied to for several years.
Locked
Y
Yoda
Halfop
Posts: 78
Joined: Thu Oct 24, 2002 2:57 am
Location: Milano, Italy
Contact:

How get TCL doing standard mIRC script?

Post by Yoda »

I would like to know how do TCLs that works like mIRC Remote folders scripts.

an example?:

on 1:JOIN:#:/msg $chan Welcome $nick

or

on 5:PART:#mIRC,#newbies:/describe $chan waves bye-bye to $nick *sniff*

or

on 1:JOIN:#: {
ctcp $nick LOCATION
if ($chan == #one) /notice $Nick welcome $nick


this because the binds onjoin/join dont work on my server.

Yoda
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

I plain don't understand what you are getting at with this, though I will have a stab at it.

Tcl is not mIRC.

mIRC is it's own programing language (though not a very nice one).

You simply can't use mIRC script as a replacment for Tcl. This is plinly due to the fact that mIRC scriptw ould be slow. It's not open source, and it doesn't come as a seperate binary.

The only place mIRC script exists in in mIRC.

In the JOIN bind in not working in eggdrop for you, then it won't work in mIRC either.

if it is working in mIRC, then it's your Tcl script that is at fault.

Maybe a little more info next time you post, every question seems to be rather vague.
W
Weirdo
Master
Posts: 265
Joined: Sat Apr 27, 2002 8:00 pm
Location: Manchester, England

Post by Weirdo »

What i noticed when creating my first tcl scripts and being a mirc scripter myself, is that TCL is so much better. Mirc takes a lot of shortcuts, but the same things can be achieved by both, only TCL tends to be 5 times faster :)

For example, you have a on Join channel script there
You need to be a regular user so that could be the user needs to be bot registered, IE a channel greeting for any registered member. This is already in the bot, do .help info for more on this command.

a Partiing greeting can be done using a bind i suppose, although these are kinda lame, and they do get VERY irritating when you get a netsplit, possible crashing your bot, or flooding it (And i have seen this happen :P )

And the binds for join will work, if you getting an error, please tell us what it is, or show us the code you using, otherwise we cant help
Y
Yoda
Halfop
Posts: 78
Joined: Thu Oct 24, 2002 2:57 am
Location: Milano, Italy
Contact:

Post by Yoda »

I want that scripts works on all chat users, not only with bot users, I think that this is the problem. But simple script like the onjoin one:

Code: Select all

bind join - "#channel *!*@*" channel_join 

proc channel_join {nick host chan uhost} { 
putserv "PRIVMSG $nick :welcome" 
} 

dont work, instead the flag is -

I use eggdrop on a channel that has 140/200 users and scripts must works will all, as no one is bot user (only me)

I am pretty annoied about it, but I really dont know why it happened and how handle.
W
Weirdo
Master
Posts: 265
Joined: Sat Apr 27, 2002 8:00 pm
Location: Manchester, England

Post by Weirdo »

In partyline, do you get an error message?
Y
Yoda
Halfop
Posts: 78
Joined: Thu Oct 24, 2002 2:57 am
Location: Milano, Italy
Contact:

Post by Yoda »

no, absolutely nothing. this get me upset about :cry:
I did many and many variations on many an many scripts but it's the same :evil:
W
Weirdo
Master
Posts: 265
Joined: Sat Apr 27, 2002 8:00 pm
Location: Manchester, England

Post by Weirdo »

i have an on join script for fast opping and autohalfopping registered users in cometanime

Code: Select all

bind join o * join:autoop
proc join:autoop {nick uhost hand chan} {
What i noticed, is that you have that "#channel ..." in your bind, try removing it, you can always add an if statement in your procedure to prevent the proc running on any other channel
I
Ian-Highlander
Op
Posts: 165
Joined: Mon Sep 24, 2001 8:00 pm
Location: Ely, Cambridgeshire

Post by Ian-Highlander »

Try something like this

Code: Select all

bind join * * channel_join

proc channel_join {nick host handle channel} {
if {[string tolower $channel] == [string tolower "#YOURCHANNEL"]} {
puthelp "NOTICE $nick :welcome"
 }
}
HTH

Regards

Ian-Highlander
"Insanity Takes Its Toll, Please Have Exact Change"
Y
Yoda
Halfop
Posts: 78
Joined: Thu Oct 24, 2002 2:57 am
Location: Milano, Italy
Contact:

Post by Yoda »

I tried it.
works only on the bot itself sending himself a the message in party line.
nothing happen with all other public users and no errors noticed.
:evil:
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

Ha, now call me an idiot, but are we talking about the right kind of script here.

DO you want it to trigger when a user joins a channel, or the partyline?
Y
Yoda
Halfop
Posts: 78
Joined: Thu Oct 24, 2002 2:57 am
Location: Milano, Italy
Contact:

Post by Yoda »

a channel :lol:
when someone join the channel, everybody, not only bot's users, all without difference :lol:
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

Use - for the flags

I Hav enot looked into this, but using a - (a dash) is the standard.
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

Code: Select all

bind join - * channel_join

proc channel_join {nick uhost hand chan} { 
  putserv "PRIVMSG $nick :welcome"
  putlog "got join for $nick on $chan"
} 
Now watch the console. If you aren't getting a log entry for every person who joins, then maybe you have another script that is interfering? Maybe a flood script or stats script.
d
darko``
Op
Posts: 121
Joined: Sun Sep 08, 2002 5:33 pm
Location: Malta

Post by darko`` »

Heh, how are you imputting the lines that are pasted here? As i could notice you have mixed up the variable names in your original script. Not that it metters really, you can refere to variable that holds a nickname as a $foobar for all TCL cares, but it is kinda confusing when you refer to variable that holds channel name as $uhost >:>
Ignorant and lazy people will save 30 minutes by chosing simple config file. Smart ones will save 3000 minutes of *everyone's* time by opting for complete config file.
Locked