The podbot mm sources are
here.
In the file bot_client.cpp there is a function
BotClient_CS_SayText. It intercepts who (ucEntIndex) and what (pBot->SaytextBuffer.szSayText) is saying and puts it to the buffer, then answer with some delay (pBot->SaytextBuffer.fTimeNextChat) after recognizing the keywords in the function
BotCheckKeywords in the file bot_chat.cpp. In that file there is a function called
BotPrepareChatMessage, which You should take a look at, too. In the BotCreate function in the file bot.cpp there are also such line:
Code:
// Assign how talkative this Bot will be
pBot->SaytextBuffer.fChatDelay = RANDOM_FLOAT (4.0, 10.0);
pBot->SaytextBuffer.cChatProbability = RANDOM_LONG (40, 100); // KWo - 31.03.2006
The first parameter says how often the bot will be talk (how many seconds between 2 chats from the same bot), the second one is also checking the probability the bot wants to talk after that delay. I hope You have got the full answer.