User Control Panel
Advertisements

HELP US, HELP YOU!

Net::MSN
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Bot Depot Forum Index -> MSN Protocol modules
View unanswered posts
Author Message
Rhombz
Newbie
Newbie


Joined: 21 Feb 2005
Posts: 14

Reputation: 15

PostPosted: Mon Feb 21, 2005 5:15 am    Post subject: Reply with quote

Hey Guys,

Firstly, I appologise for posting this under 'Modules & Add-ons' and reposting it here - I just think that this is a more appropriate place. Sorry if I pissed anyone off for doing that.

I am the original author of Net::MSN on CPAN. I gave up on that module along time ago because it kept getting disconnected - However, 3 weeks ago I discovered the reason why was because I wasnt sending heart beats (QNG->PNG) - So I have rewritten Net::MSN entirely and its now completely Object Oriented (and boy is there alot of objects).

Things left to do:

* Implementing all the required callbacks (not hard to do, but im concentrating on other things at the moment)
* Full P2P support (File Transfer, Display Picture, Custom Emoticons and Backgrounds) - Currently there is none, If anyone has any pointers/good reference material that would be tops.

Aside from thoes two things - everything is very functional. Again, this has only been rewritten since 3 weeks ago, so it all still needs testing. Which is why im posting here - I wasnt aware MSN 2 (or what ever the guy who runs this forum calls his msn api) untill today, and im not looking to compete with him in anyway - I just would like people to test my code and get some feedback from people who actually use this kind of thing.

Included in the tarball is a client.pl with basic functionality - Nothing is documented which of course is one of the musts before I release it on CPAN - but I wont be releasing it on CPAN untill I have P2P working and its well documented.

I hope you all like the way it works and find it easy to use (which was my main aim).

Cheers,

Rhombz

EDIT : I deleted your other post, but I guess that one had the tar file to download. Sorry about that. Could you post it again.
Back to top
Mojave
Almost An Agent
Almost An Agent


Joined: 01 Nov 2003
Posts: 1434

Reputation: 66.4

PostPosted: Mon Feb 21, 2005 6:08 am    Post subject: Reply with quote

Hey, nice to meet you. I'm the writer of MSN 2.0 (we never put it under Net:: because we knew of yours on CPAN). I took it over from the 1.X versions that were in very bad condition, organized and cleaned up the code and made it work with the latest MSN protocols. We have much of the P2P code in place. However, it is currently being rewritten (that was the part that I was least interested in during the rewrite)... anyhow, the P2P is being rewritten by mattaustin with full filesharing. I expect MSN 2.5 to be out fairly soon, right matt?? Razz Then, when MSNP11 (I think it is) is final, we'll add that extra functionality.

Ultimately, it would make some sense to merge some of our code, if possible. I think our code is pretty solid now - it doesn't have the larger number of classes that yours has, but with the addition of the reworked P2P, it should do everything I know that I had hoped to put this under Net, but wasn't sure if I'd be stepping on toes or what the actual protocol for that is on CPAN. What happens if there are two Net::MSN's??

Anyhow, we should discuss this all.
Back to top
Rhombz
Newbie
Newbie


Joined: 21 Feb 2005
Posts: 14

Reputation: 15

PostPosted: Mon Feb 21, 2005 6:44 am    Post subject: Reply with quote

Thanks for your welcoming response. I had hoped to use your code as a guide to implement P2P and other aspects I may have looked over - I wasnt sure if you would mind or not. I am at work at the moment but when I get home tonight I will start on the P2P stuff (creating Net::MSN::MsnObj, and other classes needed). Im glad I didnt tread on any toes by posting about my module on your form too.

I would love to work as a team, but obviously that depends on style preference. Since my main goal has been to make Net::MSN fairly standardised in a way simmilar to projects like Class::DBI/Class::Date I prefer lowercase method names with '_' to seperate names - where as you prefer to capitalise the first letter of each word. I would obviously prefer to continue working with my module and implement all functionality perhaps making a public CVS server to work on - But of course you would probably prefer to continue work on your own module. So im really not sure what the best option is except to have two. However, if you have a toy with mine and discover you like the interface and want to work as a team then id be happy to do that.

Some (not obvious through lack of documentation things):

the new method of Net::MSN can take a hash ref for the following accessors (contact, font, debug, callback.. and more) - these accessors are turned into objects using the supplied hash ref.. and then they can have their values changed at a later time by calling the relivant accessor. Below is an example of what I mean.

Code:
<br />my $client = Net::MSN->new(<br />  debug => {<br />     enabled      => 1,  # enable debug<br />     to_STDERR => 1,   # send debug to STDERR<br />   },<br />   font => {<br />      face => VERDANA,<br />      color => RED,<br />   },<br />   callback => {<br />      on_message => \&on_message,<br />      on_bye         => \&on_bye,<br />   },<br />);<br /><br /># now we can modify the values<br /># change the font<br />$client->font()->face( COURIER );<br />$client->font()->italic( TRUE );<br /><br /># turn debug off<br />$client->debug()->enabled( FALSE );<br /><br /># add a callback<br />$client->callback()->on_connect( \&on_connect );<br /><br /># all accessors can also be get / set through get/set<br />$client->callback()->set(<br />  on_connect => \&on_connect,<br />  on_bye       => \&on_bye,<br />);<br /><br /># no idea why anyone would use ->get vs ->accessorname but you can :)<br />my ($callback) = $client->callback()->get('on_bye');<br />


It all still needs improvement, but the above is the 'style' im working with Smile

Anyway, please have a toy and let me know what you think.

Cheers,

Rhombz (david boxen.net)
Back to top
Rhombz
Newbie
Newbie


Joined: 21 Feb 2005
Posts: 14

Reputation: 15

PostPosted: Mon Feb 21, 2005 7:26 am    Post subject: Reply with quote

Another thing to consider is 'POE::Component::Client::NetMSN' or 'POE::Component::MSN' (POE::Component::Client::MSN is taken). My next project after I finish Net::MSN is to write one of the above - this would allow the creation of a Bot that can easily connect to MSN/ICQ/IRC etc - POE is very powerful. The idea would be that the POE module would use the MSN client module and register all the callbacks and stuff. Im not sure exactly how it would work but it should be fairly easy.

Have you also thought about this?

Rhombz
Back to top
Mojave
Almost An Agent
Almost An Agent


Joined: 01 Nov 2003
Posts: 1434

Reputation: 66.4

PostPosted: Mon Feb 21, 2005 9:07 am    Post subject: Reply with quote

I'm not the owner of this forum, that would be Eric, I'm just one of the early members. Razz

Style differences would definitely be an issue in working together. I grew up with C++ and learned the style of "mixed case, first lower" for public methods and "all lower and underscores" for private methods/variables. It's definitely one of those things that you tend to stick with. For MSN, I was also influenced by checking out Net::Jabber (though they use mixed case, first upper). Event names for my MSN are regular mixed case, first upper too. I haven't gotten around to writing any substantial docs yet - that will probably happen after matt is done with the P2P. (I've pretty much stopped working personally on the MSN module, since it does everything I need it to do).

I think where we all "might" work together is with the actual implementation, not the interface. Authentication, P2P, etc. - for P2P information, I would suggest mattaustin's site msndev (he's the one who's doing P2P for MSN) and Siebe's MSN docs. As you probably know, Hypothetic is very old and out date, though their forums are good.

Also, I've written something called Sonora which wraps MSN, Net::AIM, Net::Oscar, Net::Jabber and Net::IRC, creating a common API. It is very still in development, though it works pretty well for the basics. I'll probably just end up writing a wrapper for your Net::MSN, then anyone who uses Sonora can simply pick the MSN implementation they prefer.
Back to top
Rhombz
Newbie
Newbie


Joined: 21 Feb 2005
Posts: 14

Reputation: 15

PostPosted: Mon Feb 21, 2005 10:04 am    Post subject: Reply with quote

Sounds like a good idea, im quite happy to maintain Net::MSN as long as I have a source of 'How to'. I would say more, but at the moment im completely trashed for Boags (beer) that someone at work bought. I willl most likley reply tommorow with a more useful message Smile I think the import thing is to make things work - not how they work. Then people can pick and choose and we can both have the joy of creativity Wink

Cheers,

Rhombz
Back to top
mat007
Almost An Agent
Almost An Agent


Joined: 12 Jan 2004
Posts: 1375

Reputation: 15.8Reputation: 15.8
votes: 2

PostPosted: Mon Feb 21, 2005 10:06 am    Post subject: Reply with quote

MSNPiki, Intended to replace Hypothetic. It is a wiki so any body can change the data and help contribute.

http://msnpiki.msnfanatic.com/?&MMN_position=44:44
Back to top
Dazzy
Agent
Agent


Joined: 09 Jan 2004
Posts: 1731

Reputation: 72.3

PostPosted: Mon Feb 21, 2005 3:51 pm    Post subject: Reply with quote

Maybe two modules could bring a bit of
competion which is always a good thing.

Welcome Smile
Back to top
Rhombz
Newbie
Newbie


Joined: 21 Feb 2005
Posts: 14

Reputation: 15

PostPosted: Mon Feb 21, 2005 10:38 pm    Post subject: Reply with quote

Thanks Dazzy,

Would I be right in thinking that there is no point supporting MSNP9 if I support MSNP10? I mean since all the notification/switchboard servers will support MSNP10 - It would keep the code alot cleaner to just support MSNP10 right?

Rhombz
Back to top
Mojave
Almost An Agent
Almost An Agent


Joined: 01 Nov 2003
Posts: 1434

Reputation: 66.4

PostPosted: Mon Feb 21, 2005 11:49 pm    Post subject: Reply with quote

We don't support 9 anymore and I haven't heard any issues crop up, so i think it's safe to axe it.
Back to top
Addict
Not Yet a God
Not Yet a God


Joined: 21 Jan 2004
Posts: 473

Reputation: 34.4Reputation: 34.4Reputation: 34.4

PostPosted: Mon Feb 21, 2005 11:56 pm    Post subject: Reply with quote

What about MSNP11? Or is that not final yet?
Back to top
..::BIGmouth( )::..
God Like
God Like


Joined: 05 Feb 2004
Posts: 801

Reputation: 44.1Reputation: 44.1Reputation: 44.1Reputation: 44.1

PostPosted: Mon Feb 21, 2005 11:58 pm    Post subject: Reply with quote

MSNP11 is final.

The messenger isn't final, but the MSNP is,
But there might be slight changes with the CHL (challenge) since it has a couple of ProdIDs (And probably will be more). Wink
~ But either one of them will work, so no need to bother changing it each time.

Oh, and nice job on the module. Smile
Back to top
Rhombz
Newbie
Newbie


Joined: 21 Feb 2005
Posts: 14

Reputation: 15

PostPosted: Tue Feb 22, 2005 1:39 am    Post subject: Reply with quote

Cool - We'll I will change over to MSNP10 and perhaps support MSNP11 and MSNP10 at the same time while information comes to hand. I didnt get much time last night, but I made some modifications to ClientID.pm to support a bunch more status's (msnc3 and msnc4.. and msn_web etc..) as well as changing my binary values from ints to hex (0x01 vs 1) Smile

Thanks guys,

Rhombz
Back to top
..::BIGmouth( )::..
God Like
God Like


Joined: 05 Feb 2004
Posts: 801

Reputation: 44.1Reputation: 44.1Reputation: 44.1Reputation: 44.1

PostPosted: Tue Feb 22, 2005 1:50 am    Post subject: Reply with quote

Hmm. To tell you the truth there no point of supporting both they both do the same thing apart from msnp11 has a couple more features added like other kind of wink transfer, psm (personal messaging: UUX) and thats basicly all oh and the ClientID, I've got my bot working on msnp11. Oh also do MSNC5 for 7.0 (p11). (1073741824)

- Good luck.
Back to top
Addict
Not Yet a God
Not Yet a God


Joined: 21 Jan 2004
Posts: 473

Reputation: 34.4Reputation: 34.4Reputation: 34.4

PostPosted: Tue Feb 22, 2005 2:02 am    Post subject: Reply with quote

QUOTE(..::BIGmouth( )::.. @ Feb 21 2005, 05:50 PM)
psm (personal messaging: UUX)

Yes! Thats why I need it! I sniffed and coded the sub, now I have to change to MSNP11. Razz
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Bot Depot Forum Index -> MSN Protocol modules All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 



Protected by phpBB Security phpBB-TweakS
phpBB Security Has Blocked 9 Exploit Attempts.
Antispam Captcha Mod by phpbb-security.com
Powered by phpBB © 2001, 2005 phpBB Group