Chatbot -text gets double processed
I'm building a chatbot for an external chatprogram. However, if my input in the chatprogram is, for example "1", in the console window it gets double processed:
21
[12:53] <new1234> 1
21
[12:53] <new1234> 1
I don't understand why this happens.
Code:
while (1)
{
LRESULT length = SendMessage(childchat, WM_GETTEXTLENGTH, 0, 0);
if (length != 0)
{
//new text, try to read
SendMessage(childchat, WM_GETTEXT, length, (LPARAM)text);
char key[] = "!hibot";
char greet[] = "hey!";
char* greetfound;
greetfound = strstr(text, key);
if(greetfound !=0)
{
SendMessage(childedit, WM_SETTEXT, 0, (LPARAM)greet);
PostMessage(childedit, WM_KEYDOWN, VK_RETURN, 0);
}
cout << length << "\n";
cout << text << "\n";
length = 0;
SendMessage(childedit, WM_SETTEXT, 0, (LPARAM)clear);
PostMessage(childedit, WM_KEYDOWN, VK_RETURN, 0);
}
}
Re: Chatbot -text gets double processed
Addition:
I now see the length = 0; is useless, i removed this.
-----------
SendMessage(childedit, WM_SETTEXT, 0, (LPARAM)clear);
PostMessage(childedit, WM_KEYDOWN, VK_RETURN, 0);
With this I'm sending a /clearchat command to the chatprogram, to prevent it from processing the same text over and over again.