aMSN Forums
July 29, 2010, 04:07:13 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: New forum for aMSN !!
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Interfacing amsn with eggdrop  (Read 9601 times)
hm2k
Newbie

Offline Offline

Posts: 4


View Profile
« on: October 20, 2006, 06:27:36 pm »

Hi there,

This is an idea for a project i've had for a while, where by I allow eggdrop to interface with with msn messenger network.

I have already successfully created a text based messenger written purly in mIRC script, this works very well, however I am looking for more stability that is offered from remote unix based systems running eggdrop, which is why i'm taking this project onto the next step.

As this project is based around TCL (as far as i'm aware), it would make a perfect place to start.

However having not used or looked at aMSN as of yet, I have a few questions before I jump into the deepend.

How feasable is it that I could make eggdrop interface with a non-gui version of aMSN?


Incase you were wondering what the benifits of having something like this was, well here's a short list:

The bot could join a private channel and be controlled by as many users as you allow, all messages can be displayed in the channel.
You could set certain triggers to relay information from already existing eggdrop tcl scripts onto MSN messenger.
You could relay channels or messages via MSN messenger.

The possibilities are endless.

Thanks for reading.
Logged
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9390


View Profile WWW
« Reply #1 on: October 23, 2006, 03:29:13 pm »

hello hm2k,
Sorry for answering you this late. I was kind of busy lately.
Your idea is good and it would be wonderful if you could do it. To answer your question, I don't know how feasable it is because I don't know anything about eggdrop. But I can tell you about amsn.
Yes indeed, amsn is written in Tcl/Tk and it's easy to learn, just refer to the manual pages at http://tcl.tk it should be enough if you have any programming/scripting experience, even small.
Now, about interface with a "non-gui" version of aMSN.. well, we don't really have a non gui version. There is one thing though that I created, called amsn-remote and amsn-remote-CLI (contributed by a user) which allow to remote control your amsn session. The -CLI version is a Command Line Interface but it still needs a remote amsn to control (which needs to be already launched and configured and has a GUI).
Now, you could either use that to interface with amsn. Or you could create your own plugin that would allow you to interface with amsn. I think the idea of a plugin is good because it allows you to add any functionality you might want and it would be a "enable eggdrop support" as well as having your own configuration window for the plugin. Writing a plugin is easy, there's a guide in the wiki and you can follow the example of existing plugins.
About the amsn-remote. If you think it will be enough, but at some point you need something added, just look at the remote.tcl file, it contains all the accessible functions remotely. You just need to add your proc in the remote namespace and you're done. Oh and btw, your plugin could also have something like this :
Code:
proc ::remote::eggdrop_cmd { args } { ... }
which will create the "eggdrop_cmd" proc inside of the ::remote namespace, thus making it available through the remote control too. So your plugin could also easily extend the remote controller.
If you need any more help, don't hesitate!
Logged

KaKaRoTo
hm2k
Newbie

Offline Offline

Posts: 4


View Profile
« Reply #2 on: October 24, 2006, 03:02:52 pm »

As you know nothing about eggdrop, here's a couple of pointers...

eggdrop TCL commands: http://www.eggheads.org/support/egghtml/1.6.17/tcl-commands.html
A pastebin of TCL scripts, mostly for eggdrop, some work some dont: http://paste.anbcs.com/
And obviously there's tcl.tk as a very useful resource.

So with all that in mind, you should discover that we're using the same platform, its just a question of how the events/procs are triggered, and where the outputs go.

What you're saying is interesting, but having not YET looked at aMSN and having only intermediate understanding of TCL, its going to be quite a challange, hence the background research first before I take the plunge, only to work out its impossible.

My only concern is that if I was to run something like this, I would be running it on a remote server, with no GUI installed, most likely on a FreeBSD or CentOS based with shell access (via ssh), I can't help but think that it won't even run, meaning it may be a case of stripping down aMSN to its raw procs and just utilising those.

What are your thoughts where that is concerned?
Logged
NoWhereMan
Contributor
Super Power User
**
Offline Offline

Posts: 502



View Profile
« Reply #3 on: October 24, 2006, 04:24:58 pm »

amsn daemon... that sounds interesting Smiley
Logged

NoWhereMan
-- Windows mom: «Finish your veggies! There are processes in Ubuntu that are starving to death!»
-- NoWhereBlog (ita)
-- http://flatpress.sf.net
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9390


View Profile WWW
« Reply #4 on: October 24, 2006, 05:00:48 pm »

hummm.. if no GUI possible, that could be difficult... and stripping the necessary procs would be impossible.. it's been maybe 2 years that we're trying to separate the GUI from the protocol and it's like "mission impossible" (and we're beginning a rewrite from scratch of amsn, but using C language this time).
Do you think there's a way for you to simulate a GUI ? I usually have a headless server, but I always have a vnc server running on it. maybe you should do that ?
Code:
vncserver && export DISPLAY=:1 && ./amsn &

that should work right, no ? The thing is that you'll need vncserver installed (which needs I think a few X libraries installed, but not much else).
Having said that, I just saw the Tcl commands for eggdrop and it's cool, but those are to be used in the scripts read by eggdrop itself, right ? it's not for another program to interface with eggdrop ? that's still interesting.
Keep me notified about your progress on that research.
Logged

KaKaRoTo
hm2k
Newbie

Offline Offline

Posts: 4


View Profile
« Reply #5 on: October 27, 2006, 12:46:47 am »

Yes, I guess you're right, it would almost be a TCL based MSN client daemon... or something?

I don't think vncserver is really a feasible option, this will slow the whole system down, its not really what i'd like to do - avoid where possible!

Pretty much with the eggdrop tcl commands you can run any TCL command or TCL proc, I pretty much figured I could strip the GUI from aMSN, and use the core code along side another script to interface between the code functions of amsn and eggdrop's triggers and outputs.

When I get a bit more time, I will look into the complexity of aMSN, and see if in fact I am even able to achieve such a task.
Logged
kakaroto
Administrator
Super Power User
*****
Offline Offline

Posts: 9390


View Profile WWW
« Reply #6 on: October 27, 2006, 02:59:26 am »

ok, I which you good luck then, keep me informed of the progress!
Logged

KaKaRoTo
hm2k
Newbie

Offline Offline

Posts: 4


View Profile
« Reply #7 on: January 30, 2007, 02:33:01 am »

I will be investigating the BitlBee project... http://www.bitlbee.org/main.php/news.html

It looks very interesting...
Logged
djeg1
Newbie

Offline Offline

Posts: 2


View Profile
« Reply #8 on: July 04, 2007, 02:32:24 pm »

Quote from: "kakaroto"
hummm.. if no GUI possible, that could be difficult... and stripping the necessary procs would be impossible.. it's been maybe 2 years that we're trying to separate the GUI from the protocol and it's like "mission impossible" (and we're beginning a rewrite from scratch of amsn, but using C language this time).


Hello.
You talk about a new MSN version using C language in dec. 2005 in your post, what about this now ?
Is this version still in developmenent ? Where I could find it ?
I'm interesting in aMSN using C language with separate "API protocol" from the GUI.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!