I'm a complete beginner to Visual Basic 2008, but I'm aiming to build a chatbot using it.

The (obvious) problem is, I don't have a clear idea on how to go about building one.

Here is what I have so far:

What I want the program to look like (my apologies, didn't know how to show the image here)




For the benefit of those that can't view the picture for whatever reason, it's a rather simple program.
1 image window shows the chatbot's picture/avatar. Titled: Avatar
1 textbox shows the chat log between the chatbot and the user. Titled: Response Win
1 textbox allows the user to type in his input. Titled: Input Win
1 buttom that the user can press to submit his input to the chatbot. Titled: SubBut
1 button to save the whole chatlog to a specified file. Titled: SaveLog
1 dropdown box to change the bot that the user is talking to. Titled: ChangeCharacter
1 button to show the credits, and finally, 1 button to exit the program. Titled: Credits and Exit respectively

My aims for the program
Version 0.1
1. Show a static image where the chatbot's avatar should be.
2. Have what the user types be shown within the Response Win window.

Version 0.2
1. Have the bot be able to respond to basic statements, such as greetings and questions about the bot.
2. The user is able to enter his input simply by pressing Enter instead of having to click on Submit.

Version 0.3
1. The bot is able to have conversations up to three sentences long.
2. The user is able to save the chat logs by clicing the SaveLog button.

Version 0.4
1. The bot is able to have conversations up to seven sentences long.
2. Exit button is able to work.

Version 0.5
1. The bot is able to change it's responses based on it's "emotions". For example, if the bot is happy but the user says something which causes the bot to become angry or sad, reponses will be taken from a different database in order to reflect the bot's change of feelings.
2. The user is able to select different bots from the dropdown menu.

Version 0.6
1. The bot is able to understand sentences which are designed to confuse it, such as words taken out of context or logic errors.
2. Other bots are taken to the level of Version 0.4 of AI, based on their personalities.

Version 0.7
1. The bot is able to carry out elementary functions that the user asks it to do, such as opening an application or saving data within it's memory.
2. The data saved by the bot will not be gone if the user turns off the computer.
3. The bot is able to change it's picture based on its "emotions".

Version 0.8
1. Other bots are taken to the level of Version 0.6 of AI, based on their personalities.
2. The bot is able to recognize changes in the context of the conversation by the user, and it's responses will be tailored accordingly.
3. One can make an account with the bot. Also, the bot is able to ask for authentication via a username and password.

Version 0.9 (Doubt I would get this far, but what the heck)
1. Bot is able to have crude voice recognition, i.e. bot can record the user's voice, and run a command if the user says something which is close to what the bot has recorded as a command.

For Version 1.0, a smartphone application would be the next goal, but I think I'm being too ambitious >.<

What I can currently do
I have been working with VerBot, which is a pretty simple interface to use. Just by typing in the input and expected output(s), as well as linking which command will lead to which command, I could create a relatively simple bot that was capable of having a conversation with the responses I entered. When I entered something that the bot didn't recognize, it would randomly take from a few answers that it uses to handle such exceptions.

Also, I have several links that could help me out if I am able to understand them. They are
http://ai-programming.com/vb_bot_tutorial.htm (which I can sparingly understand)
http://www.informit.com/library/cont...ours&seqNum=13 (A e-book that aims to teach you Visual Basic 2008 in 24 hours...)

And of course, the links that Visual Basic has on how to learn Visual Basic 2008.

Finally, I am pretty sure what I want each bot's personality to be like, and I'm pretty happy to spend hours slowly editing the database (or arrays) to make the responses suit each bot's character type.

What I cannot do
I have no idea on how to get started on programming Version 0.1 of the chatbot. I thought that a good User Interface is necessary in order to increase the functionality of the program, but I downloaded the code that they offered here (http://ai-programming.com/vb_bot_tutorial.htm) and I saw that although there was no GUI that I could find, running it still presented me with a basic interface.

Also, after a lot of reading, I know that I'll be using arrays to be the database that the bot gets its responses from, but I'm sure that I don't need all that the "How to learn Visual Basic 2008" provides. I won't be designing something that allows the user to browse the web, or draw with it.

Finally, some examination of the code shows that is has timers, but I am not exactly sure why a chatbot would need timers.

Private Sub PrintLine(str As String)
Text2.Text = Text2.Text & str & vbNewLine
nNumOfLines = nNumOfLines + 1
If nNumOfLines > 10 Then
Call SendMessage(Text2.hwnd, EM_LINESCROLL, 0, (nNumOfLines - 10) * 4)
End If
End Sub

Private Sub Timer1_Timer()
Respond (Text1.Text)
Text1.Text = ""
Timer1.Enabled = False
If bEndSession = True Then
Timer2.Enabled = True
End If
End Sub

Private Sub Timer2_Timer()
Unload Chatterbot1
End Sub

So yes, I hope I've provided whoever's reading this thread with an idea of how limited my capabilties are, and I what I'm aiming to do. I decided to make this thread after several hours of trying to work with Visual Basic and the UI that was designed, but the code entered didn't work as I didn't have sufficient experience of how to accomplish the tasks I wanted for Version 0.1.
If anyone has any idea on how I should begin, or just wants me to tell me to go back to learning the basics of Visual Basic, feel free to do so =)
I'm not looking for someone to code this for me, since I'd like to be able to customize the bot according to how I imagine it to be, but when I'm stuck, I seek help, so I guess this is my thread asking for help.