0.0.1
- First version.
- Very basic IRC code that allows the bot to join a server and idle in a channel
0.0.2
- Implemented the AIML dll and added AIML support
- Added the start of Kon's original brain
- Added multiple console commands
0.0.3
- Added bot commands that can be accessed via users on IRC:
!splash, !quit, !reload, !togglebrain, !braininfo
0.0.4
- Added code to generate and read a configuration file (in XML format)
- Added /quit
1.0.5
- Added the first incarnation of "Google Brain"
- Added the filter class
- Seperated the AIML brain from Kon's original brain
- Added !toggleGoogle
- Changed !togglebrain to !toggleAIML
1.0.6
- Changed "brain.kon" to "kon.brain" in order to keep consistency later on (with new brain
additions).
- Updated AIML dll by myself in order to try and improve memory management. The new dll MUST be
used in order for this version of Kon to work correctly (it is included in the zip and in both
src folders).
- Improved and fixed the PING/PONG so that it finally sends the correct information back
- Improved most of the IRC code. The ReceiveData() method now uses a combination of IF/ELSE
and SWITCH statements to determine what the server messages are showing up (for example "PING"
or "PRIVMSG", etc). This was changed from pure IF/ELSE.
- Added multiple methods to handle various messages (QUIT method, PRIVMSG method, etc)
- Added a reconnect() method. ** It is in testing stages right now and may not work completely
right.
- Added try/catch to the logger method to try and prevent certain errors
- Changed the way the log file works slightly to try and prevent exceptions and to just improve it
- Added an authorize() method and made it so that submitting the user and nick are now in that
method
- Fixed an exception that kept being thrown when quitting
- Removed the "full path" stuff from the main function when generating and reading the config file.
This will hopefully stop a bug that keeps appearing.
- Changed Kon's AI line grabbing method to include a seed based on the computer's time instead of
letting the computer do it manually.
- Changed Kon's AI filter a little bit to not include lines that are less than 5 characters in
length.
- Added the ability for Kon to address random channel users instead of just the person talking
to him.
- Changed the location of the replace emoticon functions from AI.cs to filter.cs.
- Added the very first version of "LB Brain" -- a brain that's based on BishounenNightBird (from
Esper.net)'s "Language Bot" (LB). Mine isn't 100% like his, but it's close enough.
- Changed "UNNAMED USER" to "UNNAMED_USER" to resolve conflicting problems in LB Brain.
- Added a /raw console command that sends things directly to the server
- Changed the way it replaces UNNAMED_USER so that if it's UNNAMED_USER: it will address the person
talking to the bot. Other UNNAMED_USERs will still be replaced with a random person.
1.0.7
- Fixed an error when you toggle the LB brain off that caused the bot to crash.
- Fixed an error with !LBinfo when the LB brain wasn't loaded.
- Tried to fix the reconnect command, again.
- Seperated the IncomingCommand method into its own file.
- Seperated the ConsoleCommand method into its own file.
- Seperated the logging method into its own file.
- Added !konInfo to the list of commands. This will send the version information to the channel.
- Changed the way the LB brain works by seperating questions and statements. Now when someone
asks a question to the bot, it will reply with a statement (a non-question). Otherwise, it'll be
random whether or not it asks a question or replies with a statement.
- Fixed a channel user list bug that wasn't showing the list of channel users after someone talked
to the bot for the first time.
- Added a !channelusers command that will display all the users in the channel (for
testing purposes) ** warning: don't use this command in an extremely busy channel with a ton
of users (more than 30) or else it might crash the bot.
- Added an !utter command that will Kon to randomly say something to the channel.
- Added an admin section to the config file. YOURNICKGOESHERE Admins
have access to all commands and have the ability to add 'users' to the list.
- Commands have been broken down by type: admin only, users, anyone.
ADMIN ONLY commands: !addUser (nick), !remUser (nick), !quit
ADMIN AND USERS ONLY commands: !reloadAIML, !toggleAIML, !toggleGoogle,
!toggleLB, !channelUsers, !utter
ANYONE commands: !splash, !konInfo, !brainInfo, !LBinfo
- Fixed a bug in previous versions where Kon would spout two responses for one input line.
- Fixed a bug that caused Kon to reply to the main channel when someone messaged him in private.
Now he will respond to private messages by messaging the person who is talking to him.
1.0.8
- Fixed an error so that Kon can now respond to null messages addressed to him.
- Fixed the "Google Brain" so that it works again with the new way Google displays results.
- Started a grammar fixing function that will attempt to fix certain grammar issues (such as
"am you" to "are you"). Right now it doesn't fix too much but that will change in later
versions.
- Added code for Kon to TRY and locate the topic in what you say directly to him. It's still in
testing and may not work very well. Once a topic will be found, Kon will try to build his
reply around that topic. Note: this only works with the LB Brain and really only works well
if Kon has seen enough text.
- Added a new admin and user command: !toggleTopic which will toggle the "topic search" on/off.
- Wrote a utility for Kon called "LB Brain Utility." For now it can reorganize the two LB brain
files so that all the starting sentence lines are at the top. This will hopefully speed Kon up
when creating sentences. ** Note: you must run this utility while Kon is offline. And you
may want to make a backup of your brain files before running it.
1.0.9
- Fixed a small bug that prevented Kon from seeing the first word in a sentence if it could
potentially be a topic of a sentence.
- Changed the way topics are picked so that it randomly chooses one if there's more than one.
- Changed the way topic sentences are constructed. Now Kon tries to build the sentence AROUND the
topic, not START the sentence with the topic. This may or may not work as intended.
- Added a little more filter to LB Brain responses to try and not end up with a lone " or misplaced
at the end of sentences.
- Added the ability to have a longer depth in LB Brains. This should help in larger brain files.
Note old brain files cannot be converted over though they should still work.
- Added a method to handle the appearance of PART messages.
- Added a method to handle the appearance of NICK changes.
- Added a method to handle the appearance of NOTICE messages.
- Added a method to handle the appearance of MODE messages.
- Changed the way Kon handles the JOIN display so that it can sit in multiple channels and show
people who join multiple channels (before it would only show the one set in the variable).
- Added "RandomTalk" to Kon. In the config file add the line # where #
is 1 to 100. 100 means it will randomly talk to every single line it sees, whereas 1 means 1%
of the time. As with everything, this works best with LB Brain active, topic searching on and
a fairly decent-sized brain to work with.
- Added the command !randomTalk [#] By itself the command will tell the users what % is set;
users can also set what percent they would like it to be by adding a number from 1 to 100.
1.0.10
- Fixed a small potential bug with !utter
- Changed !randomTalk # so that it reflects a message when the % has been changed.
- Changed randomTalk so that setting it to 0 will really shut it off.
- Changed the /join console command so that more than one channel can be joined.
- Changed all commands to display the text in the channel in which the command was used.
- Added a !join #channel command. User level.
- Added a !part #channel command. User level.
- Adjusted many commands to work with multiple channels rather than the defined channel.