IRCBT

IRCBT is an (open source) IRC client of mine, which I had developed in 2010 for being able to incorporate it into GameMaker games or programs. At that time it was just a simple basic structure with only a few functions.
2013 I started to develop it further - there is more information on the progress below.

 

Thread in the German GameMaker Community forum:

IRCBT on gm-d.de

What is IRC?

"Internet Relay Chat (IRC) is a protocol for live interactive Internet text messaging (chat) or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file sharing. (...)"

-> Internet Relay Chat on Wikipedia

Provided IRC commands

 

Description                    IRC-Code           Ergebnis
Colored text 2Farbe Color
Colored Background   1,7Farbe Farbe

 

More extensive examples

 

IRC-Code Result
 
8,0|0,8|7,8|8,7|4,7|7,4|5,4|
4,5|1,5|5,1|9,1 BadToxic 5,1|
1,5|4,5|5,4|7,4|4,7|8,7|7,8|
|||||||||BadToxic ||||||||

 
0,0 | 1,1 | 2,2 | 3,3 | 4,4 | 5,5 | 6,6 |
7,7 | 8,8 | 9,9 | 10,10 | 11,11 |
12,12 | 13,13 | 14,14 | 15,15 |
 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 

History

=== 08/08/2013 ===
 - 433 ERR_NICKNAMEINUSE is noticed, a '_' is added to the name and it attempts a reconnect. A message will report this.
 - If the connection is lost (TCP), after some time a reconnect will be tried.
 - Dates in fromt of the logs will be written, too (optional flag in "global.irc_use_log_time")
 - It is now displayed as a message, a user mode is changed.
 - Writing/keyboard noises, currently made up of four tones (one could create multiple sets later).
 - NICK will be noticed and the corresponding user renamed (@ does not bother) and it is reported.
 - '/' Commands are now possible.
 - "Clear buffer", "WriteChars" and "send message" grouped as "irc_send" for easy replacement in GM:S
 - KICK implemented. Several rooms and Nicks are accepted. Is issued with reason.
 - Own Quit terminates the connection complete.

 

=== 07.08.2013 ===
 - Font and background color can now be deselected again
 - Deleted ':' in the JOIN command (Bug)
 - PART is now also supported (= QUIT)
 - 004 RPL_MYINFO will be noticed: Available user and channel modes recorded. (Not yet used)
 - 221 RPL_UMODEIS is noticed and own mode will be directly replaced.
 - Modes that affect the user's own, are now displayed in the title bar of the chat window.
 - MODE is noticed:
 - Changes to the modes that affect the own user will update the shown modes.
 - A mode change which contains +o or -o, now places an @ in front of usernames, or deprives them.

 

=== 06.08.2013 ===
 - Built-in log function
 - (Theoretical multiple chats possible - made arrays of almost all variables)
 - Double click on title bar toggles between fullscreen / windowed mode

 

=== 03.09.2010 ===
Graphics
I have completely dispensed with the use of sprites and backgrounds to facilitate the embedding into other programs and keep the design simple. The client consists only of a few transparent, white-gray, rounded rectangles. A special feature is the text box in which to write, it swings by pressing the keyboard keys. The rest is kept relatively simple.
Progress
There is still work to do. So far, you are automatically logged on to a specified server and channel. It is assumed that no error occurs there. You can write and see other users in the channel. It supports colored text and colored background. So far, there are no automatic line breaks, because I do not know exactly how I should implement them (see complicated data structure to achieve the color codes). The window can be moved and scaled. And it lacks support for bold and underlined text. In addition, errors are not handled and much more ...

Profil von Michael Grönert auf LinkedIn anzeigen

 

Michael Grönert

 

Michael Grönerts DevBlog anzeigen

 

Michael Grönert auf GitHub anzeigen

 

Profil von Michael Grönert auf DeviantArt anzeigen