Version 1.4.x.x :
About, Donations and the Settings windows (forms) have been removed and now included in the MainWindow form.
The MainWindow is now going to focus everything in the bot, and so, is now defined in the Program class and now Irc.
The logging system has been changed so now it doesn't recreate a streamwriter over and over as well as has a little queue system if a few things are attempting to be logged at once.
g_lCheckingDisplayName in the Api class has been renamed to dCheckingDisplayName.
Most of the threads created are now stored in a list and has been named (for debugging).
Command checks now set the message to lowercase so now it "won't" be case sensitive (parameters will have to be made in lowercase).
Fixed an issue with the CustomForm making the form not display in the taskbar until it has been clicked on.
fChance in the Giveaway class has been renamed to Chance.
getLastRollWinChance() function in the Giveaway class has been removed and the Chance float variable has been made public with private set.
Intervals are now longer pre-set.
The currency command has now been separated from the name, you can now have a different name that may contains spaces while having another command for it.
bettingOpen and poolLocked booleans have been removed from the Irc, a Locked boolean has been defined in the Pool class and has replaced poolLocked, and bettingOpen has been replaced with Pool.Running.
The threads list in the Irc class has been made public.
Added a channel confirmation with twitch, so if there's an incorrect login it will be reported correctly (as you can create your own chat channels in twitch's irc).
WindowButtons dictionary in the MainWindow class has been renamed to Windows.
Window buttons will be resized and placed correctly according to the amount of buttons (will be ordered in the order it has been added to in the dictionary).
Copied the Donations, Settings and About forms to the MainWindow form, the copied items have been added as different windows.
Currency command locking is now longer under the settings presents.
Separated the DataGrid updating of the donations from the GrabData functions as for some reason it has lost items from the transactions list after BeginInvoke.
No longer using IOrderedEnumerable when re-ordering the transactions.
Shorter form closing code (not the final code that will be used though, the disabled code is aborting the threads, but due to it taking some time and delaying me from closing it to perform a fix and/or a change, it's currently disabled).
Different window switching code.
It is now possible to disconnect instead of re-opening the bot to change settings.
Errors are provided if some settings are incorrect.
Added a code that waits for previous threads to close (currently disabled due to the reason stated above with the closing).
Added a log to console boolean as the third parameter for sendMessage, usemecommand is now the 4th.
Ctrl+C will ask if you wish to close the bot the same way it asks by closing the main window.
Connecting / disconnecting will focus the console window.
Added a launch parameter for the updater, it will now "-force" to automatically install an update if detected.
No longer using Error_Log.log as the error logs file, the extension is now .txt (this change has been made so I'll be able to read the log if I download it from an email through gmail to my phone. Android does not recognize .log and gmail does not let me store files from emails).