Preventing IP timeout from bot spamming

There are limits in place.

What I do on my bots is whenever a command is sent in chat, the trigger sets a variable to a decaying value and checks if there is a value set to the same variable. If the variable has a value it stops executing. If it has no value it sets it to a value of 10 decaying 1 every second. This prevents the same command from being used more than once every ten seconds. Depending on the language you are using, you can do something similar.

All or most of the commands the bot does should use the same check, on the same variable.