# Looking for help with our IRC client



## Captain Code (Jan 5, 2003)

Hopfully most people have seen the announcement about our pre-configured chat client, which is based on MChat.

We're looking for help from this community on improving the client.

The project is hosted on sourceforge .

If you know Objective-C, and have time to help out, please let me know.

You will need to create a sourceforge account. Send me your sourceforge user name and I can add you to the list of developers.

Thanks!


----------



## chevy (Jan 6, 2003)

i didn't program for quite a long time, and my machine is not set-up for software developement. But I could help writing some documentation (user's guide ?).


----------



## Captain Code (Jan 6, 2003)

Thanks chevy, that would be great!  Do you have a sourceforge account?  If you do, I can add you to the project.

I'm still working on setting up the CVS(Concurrent Versions System) which will let us manage multiple people working on the same code.  It doesn't seem to work with ProjectBuilder at all.


----------



## LordOphidian (Jan 6, 2003)

What is the project name, by the way?

I don't know if I will have time to contribute any, but I would like to take a look at it and maybe contribute.


----------



## Captain Code (Jan 6, 2003)

Sorry, I should have included the link to the project at sourceforge.

https://sourceforge.net/projects/macosxchat/ 

If you can't help that much it's ok.  If we have many people working on small things, it will still work


----------



## ksv (Jan 9, 2003)

I could do some graphics stuff. The info window needs a picture 
My sf user name is k_valen


----------



## Captain Code (Jan 9, 2003)

Great.  I've added you as a graphic designer to the project.


----------



## rhg (Feb 6, 2003)

> _Originally posted by Captain Code _
> *I'm still working on setting up the CVS(Concurrent Versions System) which will let us manage multiple people working on the same code.  It doesn't seem to work with ProjectBuilder at all.*



Oh yes, it does! It took me some time to find out, but it really does well. The only prerequisite is that you check-in the yourproject.pbproj as well.

That is, within the yourproject.pbproj (which actually is a directory) there must be a CVS subdirectory containing the Root and Repository files.

The ProjectBuilder then obtains the CVSROOT from the yourproject.pbproj/CVS/Root file. Furthermore, the yourproject.pbproj/CVS/Repository tells it the relative position of the yourproject.pbproj directory in the project hierarchy. This way, Project Builder finds the project's root directory and therefore knows every file in the project.

ProjectBuilder in fact does not require the CVSROOT environment variable to be set, it simply obtains all necessary information from yourproject.pbproj/CVS. I really like that!


----------



## Captain Code (Feb 6, 2003)

Thanks for the tip!  I'll try it out tonight.  Do all the project files have to be in the CVS directory then?


----------



## zameericle (Feb 7, 2003)

and would like to help, if possible.  I think it would give me a great learning opportunity.

I don't have a sourceforge account.  perhaps contact me via email to discuss further?

thanks


----------



## rhg (Feb 7, 2003)

> _Originally posted by Captain Code _
> *Thanks for the tip!  I'll try it out tonight.  Do all the project files have to be in the CVS directory then? *



Wait a minute.

When you use cvs, the cvs system creates a subdirectory named CVS in each of your project's directories. These CVS subdirectories basically contain three files: "Root" which holds the CVSROOT definition, "Repository" which indicates the relative position of the directory within the project hierarchy and "Entries" which contains a list of all files and subdirectories in the directory.

The CVS directories themselves do not contain any project files. They are just there for bookkeeping purposes and refer to the directory where they are located in.

To make ProjectBuilder aware of CVS in your project you just check-in the yourproject.pbproj file, such as:

cvs add yourproject.pbproj
cvs commit

That's all. This creates the CVS subdirectory within yourproject.pbproj (which in fact is a directory).

However:

1) An appropriate cvs repository for your project must already be there. If it is not yet you must set it up by means of command-line cvs.

2) To use command-line cvs you must setup a CVSROOT environment variable for your project's cvs repository.


----------



## Captain Code (Feb 7, 2003)

> _Originally posted by zameericle _
> *and would like to help, if possible.  I think it would give me a great learning opportunity.
> 
> I don't have a sourceforge account.  perhaps contact me via email to discuss further?
> ...



In order to add you to the project team at sourceforge, you need an account there.  You can create one for free.


----------



## Captain Code (Feb 7, 2003)

Thanks for the explaination rhg.


----------



## Hes Nikke (Feb 9, 2003)

if you view the license for NFVersionChecker you'll see that i have asked you to include my name with your project. (not to mention the readme and license with the source code)

could you please fix this breach? thanks

on a slightly less serious note, MacOSX.com chat client being based on mChat is based on some stagnant code. I recomened that you merge with the most recent version of ThinkSecret Chat alpha - version 2.0a11 it's got some slightly cleaner code, and has a better orgonised folder structure.

thanks for your time and cooperation


----------



## Captain Code (Feb 9, 2003)

Actually, 
I don't believe we're using that code in our project for functionality.  It's included in the source code but the version checking has been disabled.

That's the reason that your name wasn't included.


----------



## Hes Nikke (Feb 9, 2003)

according to the CVS is it being used, albiet a prelease version 


> -(void)applicationDidFinishLaunchingNSNotification *)aNotification
> {
> // check for a new version
> [NSThread detachNewThreadSelectorselector(launchCheckVersion) toTarget:self withObject:nil];



and



> - (void)launchCheckVersion
> {
> NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
> 
> [versionChecker checkForUpdate:VERSION_URL user:FALSE current:APPBUILDNUMBER];



here is some more proof that it is being used



> NSString *VERSION_URL = @"http://homepage.mac.com/scotepi/chat.txt";


----------



## Captain Code (Feb 10, 2003)

If you look at the source code you linked to, you can see that pretty much
everything to do with version tracking has been commented out.  The update
button in the app isn't even enabled or showing.

Yes, your header file was still included, but that was just an oversite
because it's not being used.

I've removed all the commented out code and empty methods that were left
there from MChat.

It should be apparant that we're not trying to use your code.  Some stuff was just missed.


----------



## OpenMac (Feb 10, 2003)

I just thought I would add that, although you are not using his version checking code, he did add much more additional code to your interface. For example, the toolbar in the app is there because of him, and also the iTunes Music checking feature. If you check the OpenMac credits, I did give credit to him in the about box (and you should be preserving the credits, because their work did go into your app as well).

Doug


----------



## Captain Code (Feb 10, 2003)

Very well.  I am going by the MChat code that I downloaded.  I didn't see anything in that code to do with who wrote the iTunes code.  However, the code I started with I don't think is the latest version.

So, I'll give him credit for those features that we're using.


----------



## OpenMac (Feb 10, 2003)

Thanks for cooperating  It's not a really big deal, but I did feel that HesNikke deserves credit. Perhaps in future releases, we should put more instructions regarding giving credit where credit is due.

Again, thank you for your cooperation 

Doug


----------



## Lycander (Jun 25, 2003)

This probably sounds impolite for my first post, but I was wondering what is the need for a pre-configured IRC chat client. I've been using iRC and have it setup to automatically log me into my normal hangout place as soon as I click the nagging "This is shareware" window away.

While I'm here I was wondering if someone could answer this question for me:
I've downloaded and read the RFC-something specs for the IRC protocol, I'll admit I may be blind because I don't see where it explains how to send a message to a channel. I can understand the part about setting up the connection to a server and joining a channel, but once I'm in, how do I programmactically send a message to the channel? I guess it's just writing a certain command and the input text as a parameter into the open socket, but what's the command? Just plain MSG?

I'm not trying to compete with you guys, my goal is actually to make an IRC bot... the hard way... for a special reason. Thanks for any help you can offer. Put a "Maybe" flag on me for working on your project. I just got the hang of Cocoa/Obj-C but then Trolltech went and released an updated Qt lib for OSX on Monday so I switched over to that becuase I have more experience in Qt.


----------



## Captain Code (Jun 25, 2003)

The goal of the program is to get users who have no idea how to use IRC(finding a server, finding a channel, etc) to be able to get on and chat.   With the client, all they have to do is hit connect and they are there.  They can start chatting right away and don't have to search all the IRC networks for the right channel.

As for your other questions, try starting a new thread in this forum cause there might not be many people who will look at this thread.


----------



## Lycander (Jun 25, 2003)

May I offer a suggestion? How about a web based IRC client, so that people would just come to this website, click a link "Chat" and a Java applet will take them to the IRC channel. If you have access to a Windows machine with IE, check out http://www.littlewhitedog.com/chat/ that's the community I belong to and they have an IRC client embeded in a webpage. The downside to that one though is that it's IE webbrowser only. I have no idea if a cross platform Java applet for IRC exists or not. But the one I linked above takes the user to one and only one IRC channel. The same setup could be done for this site if you can get/make a Java applet that's x-browser compatible. Just some of my thoughts.


----------



## Captain Code (Jun 25, 2003)

Like this?
http://www.macosx.com/forums/main_chat.php?s=$session[sessionhash]


We've had that for a while.  It's not in a noticable spot.  Near the bottom of the forums page.


----------

