Jump to content

#AutoIt on irc.freenode.net - TrayIRC 0.22


jvanegmond
 Share

Recommended Posts

TrayIRC

Description:
Since I did not like any of the IRC applications out there, I decided to go ahead and write my own.. This is a very basic IRC client that minimizes to the tray. Click the tray icon to bring it up again. It also runs right out the box, so no tweaking the source.

There are no licenses involved. You can do whatever you want, for non-commercial and commercial projects.

This is also an attempt at getting people to the AutoIt channel on irc.freenode.net!!

Command list
/nick nickname : Changes your nickname
/quit message : Quits TrayIRC with a custom message. There is no need to supply a message, just /quit will be sufficient.
/part message : Same as quit
/me message : Displays a action message in the channel.. For example: /me is flying. Would display Manadar is flying.
/opt : Brings up a GUI with options.

Screenshot:
trayirc.png

History:
- Dec 20 2009 : Removed the license. You can do whatever you want.
- April 16 2009 : Compiled new package for download. Still planning on finished this.

- Dec 20 2007 : Added version numbering, currently released 0.2
- Added unicode support (by Dhillip89)

- Dec 19 2007 : Second version released
- Dec 18 2007 : Beta released



; Quick To-Do list:
; - /away, /brb appends |Away to your current nickname. Needs no special support for polling other users for their state.
; - /back removes |Away from your nickname.
; - Add a /help command, that lists commands

; Idea list:
; - Spell check
; - Add support for private messages, display them in the channel window
; - Add support for private messages, display them in the new windows
; - /msg other users: /msg Nick Hey what's up?!
; - A seperate codebox for the TrayIRC users... I might rename it to AutoItIRC as well.
; - Double click a user, and get some information about him, like his client
; - Respond to CTCP version requests - Note that CTCP is optional

TrayIRC.zip

Edited by Manadar
Link to comment
Share on other sites

  • Replies 73
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

TrayIRC

Description:

Since I did not like any of the IRC applications out there, I decided to go ahead and write my own.. This is a very basic IRC client that minimizes to the tray. Click the tray icon to bring it up again. It also runs right out the box, so no tweaking the source.

Also, if you are going to use the source, or modify it a lot, ask me first! I dislike wannabes who steal my code.

Download:

Source here

A compiled package with an icon is yet to come.

Screenshots:

Posted Image

Comment:

I am going to keep working on this, until I feel that it is complete. It lacks a lot of support, for different servers, different channels, private messages and the list goes on... But I decided to put it here, just so I can make a few releases. :)

This is also an attempt at getting people to the AutoIt channel on irc.freenode.net!!

History:

- 18 Dec 2007 : Added support for Quit command

- 18 Dec 2007 : Added Auto Scroll

- 18 Dec 2007 : Released

extremely nice app

Link to comment
Share on other sites

You should use _SingleTon() so I can't run it more than once AND it still tries to log in if I press cancel on the inputbox :)

Why should I not let it run more then once? What if users wish to join the channel twice? ^_^

Removing the InputBox altogether and replacing with an options gui is on my To-Do list, so I hadn't captured the error.

Link to comment
Share on other sites

I think it could be a good help, with a packet list, so i've been finding some packets for mirc.

Here are those i've found so far:

Mirc packets

Notes: In The end they use 0A to close the packet.


#Ping Pong

Ping recv:
Hex: 50 49 4E 47 20 3A 70 6F 72 74 38 30 63 2E 73 65 2E 71 75 61 6B 65 6E 65 74 2E 6F 72 67 0D 0A 
Size: 31
Text: PING :port80c.se.quakenet.org..
Usage: PING :Server..

Pong send:
Hex: 50 4F 4E 47 20 3A 70 6F 72 74 38 30 63 2E 73 65 2E 71 75 61 6B 65 6E 65 74 2E 6F 72 67 0A 
Size: 30
Text: PONG :port80c.se.quakenet.org.
Usage: PONG :server.



#MSG

MSG send channel:
Hex: 50 52 49 56 4D 53 47 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 3A 6B 0A
Size: 33
Text: PRIVMSG #underworld-gaming.dk :k.
Usage: PRIVMSG #chan :text.

MSG recv channel:
Hex: 3A 64 69 6E 6D 6F 72 21 6C 74 74 74 2D 73 65 72 76 65 40 30 78 35 37 33 35 39 64 61 65 2E 76 6A 6E 78 78 34 2E 61 64 73 6C 2D 64 68 63 70 2E 74 65 6C 65 2E 64 6B 20 50 52 49 56 4D 53 47 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 3A 4E 69 6E 6A 61 0D 0A 
Size: 93
Text: :dinmor!lttt-serve@0x57359dae.vjnxx4.adsl-dhcp.tele.dk PRIVMSG #underworld-gaming.dk :Ninja..
Usage: :nick!IrcIP PRIVMSG #chan :text..

MSG send Priv:
Hex: 50 52 49 56 4D 53 47 20 64 69 6E 6D 6F 72 20 3A 43 61 6B 65 0A 
Size: 21
Text: PRIVMSG dinmor :Cake.
Usage: PRIVMSG nick :text.

MSG recv Priv:
Hex:3A 64 69 6E 6D 6F 72 21 6C 74 74 74 2D 73 65 72 76 65 40 30 78 35 37 33 35 39 64 61 65 2E 76 6A 6E 78 78 34 2E 61 64 73 6C 2D 64 68 63 70 2E 74 65 6C 65 2E 64 6B 20 50 52 49 56 4D 53 47 20 66 61 6B 65 6E 69 63 6B 5E 61 68 6C 20 3A 4E 69 6E 6A 61 0D 0A 
Size: 84
Text: :dinmor!lttt-serve@0x57359dae.vjnxx4.adsl-dhcp.tele.dk PRIVMSG fakenick^ahl :Ninja..
Usage: :nick!IrcIP PRIVMSG nick :text..



#Join & Part

Join:
Hex: 4A 4F 49 4E 20 23 6E 75 6D 73 65 0A 
Size: 12
Text: JOIN #numse.
Usage: JOIN #chan.

Part:
Hex: 50 41 52 54 20 23 6E 75 6D 73 65 0A 
Size: 12
Text: PART #numse.
Usage: JOIN #chan.



#MODE

Op:
Hex: 4D 4F 44 45 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 2B 6F 6F 6F 20 64 69 6E 6D 6F 72 0A 
Size: 39
Text: MODE #underworld-gaming.dk +ooo dinmor.
Usage: MODE #chan +ooo nick.

DeOp:
Hex: 4D 4F 44 45 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 2D 6F 6F 6F 20 64 69 6E 6D 6F 72 0A 
Size: 39
Text: MODE #underworld-gaming.dk -ooo dinmor.
Usage: MODE #chan -ooo nick.

Voice:
Hex: 4D 4F 44 45 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 2B 76 76 76 20 64 69 6E 6D 6F 72 0A 
Size: 39
Text: MODE #underworld-gaming.dk +vvv dinmor.
Usage: MODE #chan +vvv nick.

DeVoice:
Hex: 4D 4F 44 45 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 2D 76 76 76 20 64 69 6E 6D 6F 72 0A 
Size: 39
Text: MODE #underworld-gaming.dk -vvv dinmor.
Usage: MODE #chan -vvv nick.

Kick:
Hex: 4B 49 43 4B 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 64 69 6E 6D 6F 72 0A 
Size: 34
Text: KICK #underworld-gaming.dk dinmor.
Usage: KICK #chan nick.

Ban:
Hex: 4D 4F 44 45 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 2B 62 20 2A 21 2A 40 30 78 35 37 33 35 39 64 61 65 2E 76 6A 6E 78 78 34 2E 61 64 73 6C 2D 64 68 63 70 2E 74 65 6C 65 2E 64 6B 0A 
Size: 70
Text: MODE #underworld-gaming.dk +b *!*@0x57359dae.vjnxx4.adsl-dhcp.tele.dk.
Usage: MODE #chan +b *!*IrcIP.

UnBan:
Hex: 4D 4F 44 45 20 23 75 6E 64 65 72 77 6F 72 6C 64 2D 67 61 6D 69 6E 67 2E 64 6B 20 2D 62 20 2A 21 2A 40 30 78 35 37 33 35 39 64 61 65 2E 76 6A 6E 78 78 34 2E 61 64 73 6C 2D 64 68 63 70 2E 74 65 6C 65 2E 64 6B 0A 
Size: 70
Text: MODE #underworld-gaming.dk -b *!*@0x57359dae.vjnxx4.adsl-dhcp.tele.dk.
Usage: Mode #chan -b *!*@IrcIP.

There's is some notes here and there, but i think you can use it. The Usage thingie is also a little fucked some places, but it should be easy to figure out.

I'll keep finding packets and if anyone got a list, please give it to me :)

Link to comment
Share on other sites

I think it could be a good help, with a packet list, so i've been finding some packets for mirc.

Here are those i've found so far:

There's is some notes here and there, but i think you can use it. The Usage thingie is also a little fucked some places, but it should be easy to figure out.

I'll keep finding packets and if anyone got a list, please give it to me :)

There's a list in my source. Between some functions.

CODE
Common recieves:

Nick = User who the message is from

Name = Settable by user, set in the USER command

host = ISP host

~~~~PRIVMSG~~~~

You recieve this when someone has sent a message in a channel,

gives you there Nick, host, the channel it was said in and the message.

SYNTAX:

:Nick!Name@host PRIVMSG #Channel :Message

EXAMPLE:

:Chip!Chip@OMN-8243F63D.dsl.bell.ca PRIVMSG #Chip :Hey guy's

Would be a message from Chip to say 'Hey guy's' in the channel #Chip

:Chip!Chip@OMN-8243F63D.dsl.bell.ca PRIVMSG Bob :Hey Bob!

Would be a Personal Message from Chip to Bob saying 'Hey Bob!'

~~~~~~~~~

~~~~MODE~~~~

You recieve this when a mode is changed, a mode can give/take access change certain

things like who can join a channel etc..

SYNTAX:

:Nick!Name@host MODE #Channel +/- MODE (USER)

EXAMPLES:

:ChanServ!services@host MODE #Chip +o Chip

This says ChanServ (usually a service bot) has given Chip Operator access in the channel #Chip

:ChanServ!services@host MODE #Chip +i

This makes #Chip invite only, so only OPs can invite users in the channel.

:Chip!Chip@OMN-8243F63D.dsl.bell.ca MODE Chip +i

This will make Chip invisible to WHOIS. These are usermodes.

~~~~~~~~~

~~~~PING~~~~

You recieves these at random to make sure your still online and

not disconnected.

SYNTAX:

PING :Randomletters

Usually a PING has random letters that you have to respond with.

EXAMPLE:

PING :29809dj0d

You would respond with

PONG 29809dj0d

~~~~~~~~~~~

~~~~JOIN~~~~

You recieve this when someone joins a channel.

SYNTAX:

:Nick!Name@Host JOIN :#Channel

EXAMPLE:

:Chip!Chip@OMN-8243F63D.dsl.bell.ca JOIN :#Chip

This would be sent to everybody in #Chip to show that Chip has joined the channel #Chip

~~~~~~~~~~~~~

~~~~KICK~~~~

You recieve this when someone gets kicked (Including yourself!)

SYNTAX:

:Nick!Name@Host KICK #Channel User :Reason

EXAMPLE:

:Chip!Name@Host KICK #Chip Bob :Talk in private

Would kick Bob from #Chip and say 'Talk in private' in the reason

~~~~~~~~~~~~~~

~~~~QUIT~~~~

You recieve this when someone disconnects from IRC.

SYNTAX:

:Nick!Name@Host QUIT :Reason

EXAMPLE:

:Chip!Chip@OMN-8243F63D.dsl.bell.ca QUIT :I'm bored

Would be sent to everyone in the channels Chip was in to say that he left IRC because He was bored.

~~~~~~~~~~~~~~

For the other packets, I use a ConsoleWrite to show my incoming packets. So it is mainly outgoing packets that I am concerned with.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...