I want to make simple MSN/YAHOO Chat. I have some knowledge on sockets but I don't know what more I need to know. So My Question Is, what is pre-requisites before I jump into the Project.
NOTE: The project is for learning Python/wxPython
Thanks :D

Dani AI

Generated

Short reality check and a practical path.

Official MSN/Windows Live Messenger and Yahoo! Messenger networks that third‑party clients targeted are no longer viable targets today (those services were retired). As noted, using an API or library is normally the right approach — in this case the historic official APIs are deprecated, so pick a modern, open protocol or an existing multi‑protocol backend instead (Windows Live Messenger, Yahoo! Messenger).

Concrete, actionable alternatives and resources:

  • Learn with an open protocol: XMPP is stable and well documented (xmpp.org); use a maintained Python library such as slixmpp (slixmpp docs).
  • Consider Matrix for a modern federated system (matrix.org).
  • For a multi‑network client approach, study how libpurple/Pidgin structures protocol plugins (pidgin.im). As suggested, studying a real multi‑protocol client’s architecture (Digsby was one example mentioned earlier) is useful for learning design decisions.

A focused learning plan:

  1. Build a local TCP chat server and client to master sockets, framing, and basic presence semantics.
  2. Create a wxPython UI and wire it to networking code with threads or asyncio — never block the GUI main loop. Use Python 3 and virtual environments.
  3. Replace your toy protocol with an XMPP or Matrix library so you do not need to reimplement TLS, SASL, or message routing.
  4. If multi‑protocol is still the goal, interface to libpurple or reuse an existing SDK rather than reimplementing every legacy protocol.

Troubleshooting tips: enable verbose library logging, use packet traces (Wireshark) when auth or TLS fails, and pay attention to threading vs async interactions with the GUI. For asyncio patterns and integration options, see the Python docs (asyncio).

Recommended Answers

All 7 Replies

This sounds awesome, but it also sounds like an API would be useful here. If you have the API (not sure if one exists) for MSN/YAHOO then I think that's where you should start. If you post a link to the API here that would be pretty neat too.

evstevemd; are you aware of Digsby?

Digsby is a multi-protocol messaging/email consolidation client. As far as I'm aware, the program is designed in Python and wxPython; however I know they have certain elements (like the login window) that are designed in C++ and SWIG wrapped (this was a recent change as the original wx window was buggy).

That being said, don't give up hope! If you're looking to recreate what Digsby does as a learning excercise, keep in mind that it's possible and they are living proof

I'm sure you could even be as bold as to contact the developers and ask for learning resources! I wouldn't be surprised if they gave you some advice, as they seem to actively respond to users on their blog

Wow!
Thanks Jlm699 for the great info. Let me see what they can help.
First I have to check their code and see what I can get there

I don't think it is open source (Am I wrong?) So Should I contact their developing team?

I don't think it is open source (Am I wrong?) So Should I contact their developing team?

Right... I suggested contacting them to see if they had any resources to point you in the right direction.

Understand now, thank you :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.