Thanks many thanks to everyone. This is coming along nicely, and with the rest of this here, it's decently "usable". Again, thanks for checking it out. Go ahead and test this, and treat it's current features like a "release candidate", except the queue. Enjoy.
Also, if anyone knows of a currently, rather close yet safe anti-flood algorithm, let me know.
1.01 "Public Beta"
Bug Fixes:
- You can no longer talk before the bot is in the chat environment.
- Now, the SID_CHATCOMMAND for joining the home channel is sent after the server responds to SID_CHATCOMMAND, not right after the client sends it.
- Added "PX2D" as a valid client in the pre-connection sanity check.
- If you try to disconnect before connecting, you'll no longer get an exception, due to checking if the socket is a null pointer before closing it's object. Thanks, Warrior!
Additions:
- Added code to support clients with two CD keys, thus Diablo II: Lord of Destruction is now supported
- On the configuration form, client has become a drop-down box with "user-friendly" names
- Handling of EID_BROADCAST, EID_CHANNELFULL, and EID_CHANNELRESTRICTED messages
- Added a primitive queue. Note that I have only layed down the foundation and made it so that the messages will be sent 500ms after the previous one. This isn't meant to provide protection from flooding off, and don't expect it to work for that at this point.
- Added a foundation for commands. These are only accessable to the "bot owner". In the future, an access database will be added.
EDIT -
Known issue, the channel list won't clear when you join a new channel. Fixed for 1.02.