flIRC – next version with Flex2 Beta 1

Some days after the first Flex2 Alpha has been released I presented flIRC as my first experiment with the new Actionscript 3.0 features and Flex2. Now there is the Flex2 Beta and old projects do not work with the new version any longer. So I thought it could be nice if I rewrite the well-liked irc client. The old version was very creepy. There were only some events supported and no private messages.

This new release of flIRC features public and private chats (channels and querys). There are also more than 75 IRC-events supported. This is still not the whole protocol but a try to enable most common features. Here is a list of what I have implemented and how.

IRC:

  • Most RAW events are supported (still not all)
  • JOIN, QUIT, PART, KICK, TOPIC, MODE, NICK, etc.
  • Supporting standart channel modes
  • CTCP
  • Op, HalfOp, Voice and regular users

Flex2/GUI:

  • Making use of regular expressions
  • flIRC makes use of the new event system (every event that comes from IRC gets transferred into an individual AS3 event)
  • Components and simple effects
  • Using the new Socket class for example
  • ContextMenus (not fully implemented)
  • Multi-Tab view

It is also nice that I can skin the client in different ways using stylesheets. This is also implemented but I focused on the code and not on the view so there is the default style. If you want to send me a nice stylesheet I could use it for flIRC :) Imagine the scenario. People who run a dating site for example could setup an irc server on their shell and install flIRC. All they have to do is to skin the application and maybe the text-messages.

There are still two problems I had to overcome. The first is still the security of Flash. It is not possible to connect to an irc server directly since it is not allowed. I use a proxy on my shell to get around this problem. The next is TextAreas. TextAreas have sometimes a strange behaviour. If you use htmlText in a TextArea only milliseconds after the TextArea has been created it will not display. But never the less this was not a big problem since there is the Timer class.

What is still missing? A lot of raw events. Some bugs. A nice GUI. More channel modes.
Note: This is only a demo version. Not all features of the IRC protocol may work properly.

Links:

26 Responses to “flIRC – next version with Flex2 Beta 1”


  • Cool, hoping to see the full version soon!

  • hi,joa.Something confused me.
    I made out one simple irc client demo with socket class,but there were some annoying problem. French not be displayed in the textarea component.
    I notice then you met the similar proplem and found the solution.
    Do you mind to giving me some advice?
    thank you so much!

  • Of course. The same problem exists with the german umlaut. It is all about UTF-8. The Socket Class provided by Adobe is using UTF-8. Now if you send your special characters with UTF-8 and other people do not decode them as UTF-8 they will see damaged letters.

    The best way to communicate on IRC would be using UTF-8! But since nobody uses it you will have to work around this problem. I wrote a class for IRC connections that takes the simple byte representation.

    You may have a look at the source here: http://je2050.de/irc/srcview/irc/util/IRCSocket.as.html

  • Will you release the source code any time? or it will be commercial product? couldnt get private query to work :/

  • yah totally, way too few examples of good as3 code out there. looks great man, nice work.

  • Great stuff, and I wish you try to use it with http://www.wdmedia.org/WIG/index-en.html gateway.

    Good luck,

    Arab
    http://www.WeArab.Net/

  • About using a proxy/gateway:
    Security model of Flash does allow connections to a server with a correct crossdomain.xml file. So if you own a server you can set up your own crossdomain.xml and everything is fine.

    I would NOT use the wdmedia gateway since it is some sort of PHP script. If you own a shell it makes mor sence to use a real proxy. Browsing sourceforge.net leads to some results.

  • Are u still workin on it? I’m noob in flash and just wanted to ask if u could explain how to use it =\ I tried http://je2050.de/irc/ but got nothing… Is there any way to see demo? And how could i (if it’s possible) use it on my own site? Thanks a lot for your work, screenshot looks really great!

  • There was a working version with beta 2. I will be able to post a new version after 20th of november. I am currently quiet busy.

  • Any news on this one? I’m unable to get the demo to work as it gives the error

    “VerifyError: Error #1014: Class flash.util::Timer could not be found.
    at mx.managers::SystemManager/initialize()
    at mx.managers::SystemManager/::initHandler()”

    I’d really love to see a fully working version of this released, I’ve been hoping to get a great irc client in flash for a long time, still hoping for the day ;)

  • Dear Joa, Hello! how are you doing. I know you are a busy man but can you please atleast post a tutorial on the web on how to use this irc client source in flex builder 2 because many of us are not able to properly compile it. Thanks.

  • Your site very useful! I shall visit again and I shall inform to my friends.r

  • Excelent information. Best wishes.t

  • Hi Sam! You letter i received. Thanks! Photos is nice!!!

  • Damn , i should i’ve searched better before i started this project.

    I’m currently developping the same thing , as3/flex2 irc client.
    I’m willing to release the project as open source. I’ve already opened a project at code.google.com.
    I haven’t upload the code to the repository yet.

    Since it’s my first projet using AS3, i’m not sure that i’m doing it the best way, so having your code would be very usefull.
    It would be great if you wanna join the project.

    Olivier

  • Hi,

    We are working on a related project and would like to see if we can integrate flirc.

    Please let us know how to contact you about this.

    Thanks

    Stephen

  • We are interested in custom Flash IRC Client development. Please contact us.

  • Any progress on this? It’s been a long while since the last post so I assume this is abandoned? That’s a shame, I have a use for this application.

  • Hi

    How can i connect to IRC server via your lib with pass?

    ip
    123.456.789.012

    port
    7777

    pass
    somepass

    ???

    Thanks.

  • This has been developed with the first available ActionScript 3 beta. If you are interested in it grab the sources and modify them. I am not interested in that old code at all – sorry. Remember the source is released under CC license.

    I think there are now a lot of other projects out there that handle the IRC protocol for you as well. Google will be your friend …

  • Where can I get the source?.. none of the posted links above work, all 404′s..

  • This is interesting.

    It’s good to see we’re not the only ones who had the crazy idea to create a Flash based IRC client.

    We’re actually just about to release our beta 2 as well. (Details can be seen by clicking on my name above, I believe…)

    I’d be interested to see any other projects people are working on along this line. Being an IRC junkie, it’s all fun to me.

  • Hello is posibol to download source for this best webchat!!! tnx

  • Hi, Joa.
    I found this blog while searching for flash irc client example – we would like to add such a feature to a particular free online MMORTS game. The game client is in flash, but chat opens up in quite ugly and outdated cgiIRC window.
    It seems that you no longer play around with this client, no source links work, and decompiling it seems… inappropriate. Is there any chance of getting a look at the code?

    (commercial compensation is a possibility)

  • where can we get the source for this?

Leave a Reply