mIRC Homepage
Posted By: GBleezy Standalone Script Engine - 03/03/09 06:04 AM
Anyone know if there's a standalone commandline mirc script parsing engine available anywhere?
Posted By: MTec007 Re: Standalone Script Engine - 03/03/09 09:43 AM
i don't believe that there is one.
Posted By: Osah Re: Standalone Script Engine - 16/03/09 09:12 PM
Khaled should make the scripting language standalone... there is one started by visionz -- but discountinued...

Khaled; mirc community is dying; believe it or not, it is... everyday we are loosing people interest in writing mirc scripts...

Bring a Standalone interpeter...

thx
Posted By: sparta Re: Standalone Script Engine - 16/03/09 09:57 PM
uhu ? first time here? every day it joins new scripters that want advice on how they should start learn how to make there own scripts smile
Posted By: Horstl Re: Standalone Script Engine - 17/03/09 09:12 AM
If "scripting community is dying" - and I'd question this assertion as well - how could a "standalone" interpreter make a difference?
The vast majority of mIRC scripts are made to react to events on IRC networks and/or to manipulate/extend the GUI features of the client.
So does the scripting language MSL: The major part of it deals with either:
- IRC-related commands, identifiers and events (DCC stuff emerges from chat encounters)
- client-related commands, identifiers and events (for the most part: GUI-related).

To put it different; what's left of MSL in a standalone interpreter (who is neither connected to an IRC network nor running a GUI)?
Imho verry little. Compared to other languages, MSL isn't very powerfull, isn't very coherent, and has countless quirks / limitations (just two examples: the "double spaces issue", the "single-thread bottleneck").
And that's nothing to blame Khaled for; MSL never was meant to be a fully-fledged programming language for "standalone" tasks. It's a toolkit of the client for the client - take the client away and you have a petty set of options remaining.

If compared to other programming languages, MSL isn't just incredibly simple but incredibly easy. That's why I love it. However, if you want to do programming "beyond mIRC" imho you should go for one of the many well-established, fully-fledged languages who hasn't been made with a single application in mind.

...my two cents, maybe I don't see the whole picture yet smile
Posted By: Osah Re: Standalone Script Engine - 25/03/09 12:57 AM
See mIRC supports Dialogs -- DCX ... Sockets... Picwins... People make mp3 players, games, internet apps... nothing irc related...

When i was a newbie programmer - i was hired by a company to create them a tool to read a custom database from the Ford Motor Company -- i figured they need it quick i use a scripting lang...

I ended loading mirc into their Server computer and it runs a mirc based addon (over 3,000 lines of code) -- and i received $3200 for it written within 4 days.. which is good.

I never do anything in the past 10 yrs with mirc scripting irc-related... When i do an Addon -- it will work wether you are connected to IRC or not.

Posted By: RusselB Re: Standalone Script Engine - 25/03/09 01:51 AM
Just what the heck do you think the IRC part of mIRC is?
If you think that it's anything other than Internet Relay Chat, then you are mistaken.

If you wrote a database for Ford using mIRC, then my hat's off to you, as I wouldn't have even considered using mIRC for a database program, since there are programs (stand alone executables) that are designed for database usage.
Posted By: Horstl Re: Standalone Script Engine - 25/03/09 02:32 AM
Yet mIRC is an IRC client - that's it's scope, and always will be.
While maybe half or so of mIRCs regular users run some kind of script, only a fragment of them do write scripts. And I'm sure of these scripters only a fragment is interrested in things "outside" of mIRC (in the sense of "while mIRC hasn't to be running as chat client"). Thus imho only a fragment of a fragment of mIRC users would benefit of a standalone interpreter...
While this doesn't render your request invalid, it renders the issue ... very unlikely. You may like to push mIRC to it's limits and beyond the borders of all chat-related tasks - however: why should Khaled support those in the first place? He's not sitting around bored and asking himself what fancy new thing to add next. There's always been a lot of unchecked boxes on his todo list (e.g. the general UTF compatibility thingie atm, and I fear it will keep him busy for some time to come - but w/o any question a incomparably important issue it is, and at the heart of IRC - as the world has never been ASCII, and it's ASCIInes diminishes every day).

That aside, should a hypothetical standalone interpreter carry over all the (current) limitations o mIRC/MSL, just to maintain compatibility? Wouldn't it (rightfully) provoke a ton of new feature requests, disperse / distract the developmental focus off the main app (and it's hundreds of thousands of chatting users)?
Every task has it's tool, and the devs of a tool ought to focus on it's dedicated function. mIRC may be close to a swiss army knife in many cases, but you'll never fell a tree with it (...not without avoidable pain at least smile ).

All the best, but please don't have high hopes - to me, it's very unlikely to happen.
Posted By: Wims Re: Standalone Script Engine - 25/03/09 08:52 AM
I know that something like this will not happen but when you said :
Quote:
Thus imho only a fragment of a fragment of mIRC users would benefit of a standalone interpreter...
I disagree.
Like you, it's just supposition because we don't know exactly how many people would use it, but I think that this number is more than "a fragment of a fragment".
If it was added, would you be not the first to use it ?
Posted By: Horstl Re: Standalone Script Engine - 25/03/09 03:35 PM
Personally I didn't write or use (or liked to write) any script that would benefit from this feature so far. I'm well aware that this is only my particular POV, and I'd never consider myself representative of all scripters out there.
But then, personal experience showed that most of those who write scripts use less of MSLs existing features than you do or I do... and that's why I hold only a minority² of scripters would actually use it. This and the more important fact that we scripters don't represent the average mIRC user made up my previous assertions - the more people benefit from a new feature, the better the feature; and I can think of a dozen other requests which would serve more users, but didn't make it so far.
Afaik Khaled is adding features to serve users of mIRC the chat client (and MSL is his toolkit for us to extend the functionality of the chat client), not to allow a bunch of scripters perform fancy tasks that aren't related to this chat client at all. The fact than you can do it doesn't mean it's the purpose of MSL. smile You may write a music player for mIRC; it's main advantage may be that you don't need another app running alongside mIRC to hear your music. It's well valid inside mIRC. However if you want to write a standalone player - for me it's obvious to use existing standalone programming languages, -interpreters / -compilers, not to request one for the very limited MSL.
Posted By: Wims Re: Standalone Script Engine - 25/03/09 04:48 PM
I was not saying that "the fact than you can do it doesn't mean it's the purpose of msl"
I've already read some threads about this feature and perfectly understood why it would probably not be added, but I think it would be a great idea, that will just let people that do not use mirc (the chat client) to use the scripting part, and let those who are already using the chat client to use the feature as well, how this could not be benefit ?

Quote:
Afaik Khaled is adding features to serve users of mIRC the chat client (and MSL is his toolkit for us to extend the functionality of the chat client), not to allow a bunch of scripters perform fancy tasks that aren't related to this chat client at all.
Why then do we have features that are not related to the chat client ?
Posted By: MTec007 Re: Standalone Script Engine - 25/03/09 07:56 PM
why bicker? you guys have been around for a while, you have seen this requested before and it hasn't been added yet. just leave the topic alone. Khaled has probably already made his mind up about this so he probably doesn't need a debate on the issue.
Posted By: sparta Re: Standalone Script Engine - 25/03/09 08:27 PM
Reply to NO ONE!

Why would anyone take time to install a editor? if they don't have time to install mirc, then they don't have time install a stand alone editor. So why not just face the music? mirc is the editor, no other program smile
Posted By: Wims Re: Standalone Script Engine - 25/03/09 09:50 PM
So we should not debate because something won't be added ?
And I'm not really debating, just replying because I disagree with what he said.I think it's normal to "bicker" when several people are giving opinions
Posted By: argv0 Re: Standalone Script Engine - 25/03/09 11:18 PM
Originally Posted By: Wims
So we should not debate because something won't be added ?


In this specific case, yes. You should be intelligent enough to tell the difference between features that have not yet been added and features that are fundamentally unfit for mIRC and will never be considered. Khaled's goal is to write an IRC client- if you take "IRC client" out of the picture, we are not talking about mIRC anymore and therefore there's no reason to be discussing it here; it's just noise.

Khaled should just reply and settle this pointless discussion once and for all.
Posted By: Horstl Re: Standalone Script Engine - 25/03/09 11:26 PM
@ MTec007 [ & argv0 ]
I agree with Wims... We're not trying to change Khaled's mind in this or that direction - we're simply sharing our points of view. And the fact that we both agree that it's unlikely to be implemented doesn't render our exchange of thoughts / different opinions about the use of the request futile. In fact I always assumed these boards were made for this kind of exchange...

@ Wims
Yup, there are many features that aren't related to chatting itself. Dll/Dde/Com/Run/Sockets... - they all may be used as some kind of interface to the binary world "beyond" the client. But they all do add to the versatility of the chat client - and I wondered about where to draw the line that defines the purpose of mIRC and MSL. A standalone interpreter would allow to use MSL outside of the client - of course an interresting thing for dedicated mIRC scripters to play with (though, as stated above, I question it's comparable practical use).
But (how) could this add to mIRC in general?
Posted By: argv0 Re: Standalone Script Engine - 25/03/09 11:49 PM
Requesting something does not automatically make it a valid request. There are lines defined by conventional wisdom of what requests should be made and what shouldn't. Generally speaking, the history of requests defines that convention. Looking at the history of requests on this subject (using Search), it's been ignored or outright denied each time, which makes this seem more or less futile.

If someone were to come here and ask for mIRC to make them coffee, it would not be accepted as a valid request, it would just be noise. Similarly, continually discussing a feature that has failed to be implemented for years without adding any new insight to the discussion is simply that: noise. I would suggest that there are far more productive conversations to be had on these forums, there's no reason to detract attention from them. If you have something new to say on this topic, fine-- but if you're just going to say "I want a standalone script engine it would be cool"-- save it; we've had the "scope" discussion hundreds of times, none of this is new.
Posted By: Wims Re: Standalone Script Engine - 26/03/09 11:34 AM
Quote:
In this specific case, yes. You should be intelligent enough to tell the difference between features that have not yet been added and features that are fundamentally unfit for mIRC and will never be considered.
And you should be intelligent enough to let people talk about mirc feature if they want to do so, what's the problem with this, I think you're not the one that can say if we should continue this conversation or not.
Quote:
Khaled's goal is to write an IRC client- if you take "IRC client" out of the picture, we are not talking about mIRC anymore and therefore there's no reason to be discussing it here; it's just noise.
It's simple, I'm talking about the feature, and the feature talk about mIRC, sorry if it's just noise for you.

Note also that I never ask for this feature, and that a reply of Khaled will not prevent people to express their ideas on a feature that has been requested, even if ignored.
But indeed, a reply of him would be interesting.
Posted By: ziv Re: Standalone Script Engine - 12/09/09 10:18 AM
I, too, used MSL for offline stuff more then once, one time in particular, for work.
It's easy, simple, small, quick...just a snippet and you have what you need.
I would benefit a hell of a lot from a standalone.

Also, if you don't like what you see, don't read it.
No one's forcing you.

ziv.
Posted By: tontito Re: Standalone Script Engine - 12/09/09 08:40 PM
LOL

You are my Hero! smile

I have done some stuff like that but never got that much.
Posted By: The_JD Re: Standalone Script Engine - 19/09/09 12:48 PM
Originally Posted By: argv0
continually discussing a feature that has failed to be implemented for years without adding any new insight to the discussion is simply that: noise.


Hmm, I guess you mean like UTF-8 Multi network connections, and many other of the things implemented in mIRC?
Posted By: FaiNT Re: Standalone Script Engine - 22/09/09 04:19 AM
i'd like to point out that i myself once made a script for mirc that would rename files based on info in a file. used in yearbook class with lifetouch's cd that had a easy to script database file with the pictures being named with the same numbers in the database. the script was made to change the filenames of the pictures to name - grade.JPG. why did i do this in mirc and not tcl or php? 2 words "limited account". i could grab upp and code in mirc without installing anything on my schools limited non-admin account. last i checked you cant do that in tcl.

and im the same kind of coder that made a half-assed version of a wircd in mirc, a mp3 player that didn't use /splay, a web browser based off of ie. hell a mci based video player. yes, im the type of coder that loves /dll and $dll() why dont i do this on tcl with the load unload commands? do you know of a tcl dll/so for internet control interface? or mci? or using winamp's input/output dlls? i dont.

why would i like to see mcl standalone? because its easy, it would hopfully be usable on a limited user system without admin access and because it has a higher amount of dll addon's
Posted By: argv0 Re: Standalone Script Engine - 22/09/09 06:30 AM
Quote:
last i checked you cant do that in tcl.


You can. You can also do it in Python, Ruby, Lua, Perl or just about any interpreted language since all you need is theinterpreter.exe and some dlls. It would be easier, too, since you wouldn't need to interact with mIRC's UI to do it. The only thing you can't do on a limited account is install programs-- but this is a moot point, since mIRC needs an installer too unless you preinstalled it on a CD or usb key (which you could do with Tcl as well).

Quote:
do you know of a tcl dll/so for internet control interface? or mci? or using winamp's input/output dlls? i dont.


If by "internet control" you mean sockets, Tcl has plenty of this; so do Python, Perl, Ruby, etc.. In fact, sockets in most of these other languages are significantly easier to use than mIRC. I mean, seriously, compare any mIRC HTTP GET script with:

Code:
require 'open-uri'; puts open('http://google.com').read


No comparison. Heck, compare it with full xml processing:

Code:
Hpricot(open('http://google.com').read).search("a:link")


Returns all the <a> links in your HTML document. This would require many lines of mIRC scripting, and we haven't even done any processing on this data yet.

As far as "winamp input/output dlls" go, this has nothing to do with mIRC. These dlls are specifically made to address a shortcoming in mIRC. Winamp accepts SendMessage commands the same way mIRC does, but mIRC has no way of *sending* those commands without dlls, so plugins in Winamp need to be made to send the commands to mIRC. Other languages like Python, Tcl, Ruby, all have WINAPI implementations that allow users to use SendMessage from the language to interact with Winamp directly, so a "winamp plugin for LANGUAGE_X" is completely unnecessary.

In short, and I hate to say it, but most of the need for mIRC script as a standalone language is caused by ignorance of better tools. mIRC is not fast, it's not easier to perform any complex tasks (sockets, xml, large string processing, binary data processing, WINAPI, dialogs all have much better library support in other dynamic languages), it doesn't even have good debugging. The only time mIRC is more convenient than other languages is when dealing with IRC related commands and events because of its event oriented nature and lack of a string construct (respectively). That makes it great for an IRC client, but that's it.

If you're comfortable with mIRC because you only know mIRC, that's one thing, but if you've only used mIRC and are convinced it can solve all of the worlds problems, you need to get out from under your rock and start looking (harder) for more appropriate tools.
Posted By: s00p Re: Standalone Script Engine - 22/09/09 08:19 PM
Quote:
I ended loading mirc into their Server computer and it runs a mirc based addon (over 3,000 lines of code) -- and i received $3200 for it written within 4 days.. which is good.


This is quite possibly one of the stupidest things I have ever read. The fact that you would spend 4 days database writing code in mIRC that you could have probably done in Perl or C# in 12 hours is a complete joke.

Listen to what the others say: the mIRC scripting language was designed so that mIRC could be further customised. Why would any real programmer choose mIRC to program with, when they could use, say, PHP and have arrays to work with (even if PHP is a POS)? To put it another way, I could spend 2 weeks writing an intel x86 assembly interpreter in mIRC (and I think I will), but what's the point when Delphi already provides? One should choose a language that is suitable for the task, and mIRC is one of the least suitable I've seen for database work.

mIRC supports dialogs; what about arrays, and other data structures? support for multithreaded programming? what about those things that are required to be a -real- programming language? mIRC couldn't even compete with VB6, and nobody uses VB6 anymore. Here's an idea: give Ruby or ECMAScript 20 minutes worth of play, then come back and tell me how much you love mIRC.

Quote:
i could grab upp and code in mirc without installing anything on my schools limited non-admin account. last i checked you cant do that in tcl.

Wrong. Languages do not know of "admin account". They do not have such restrictions. If you can find an implementation of a language that will run on an underprivileged user account, you can fiddle with it. TCL will run on an underprivileged account. Again, I could spend a month writing a TCL interpreter in mIRC just to prove you wrong...

Quote:
and im the same kind of coder that made a half-assed version of a wircd in mirc, a mp3 player that didn't use /splay, a web browser based off of ie. hell a mci based video player. yes, im the type of coder that loves /dll and $dll() why dont i do this on tcl with the load unload commands? do you know of a tcl dll/so for internet control interface? or mci? or using winamp's input/output dlls? i dont.

hmm, and what did you use to write the DLL/COM object? I'm pretty sure, since most TCL interpreters are written in C, loading DLL/COM objects would be easy enough to do smile don't you think?

Quote:
why would i like to see mcl standalone? because its easy, it would hopfully be usable on a limited user system without admin access and because it has a higher amount of dll addon's


Yes, well... 1 URL: http://tryruby.sophrinix.com/ (and it'll run on a limited account, right in your browser! don't worry!)
© mIRC Discussion Forums