Unknown robot (identified by 'bot*')
I would take that to mean "bot" appears
anywhere in the user-agent string, followed by some other character (this is not a regex, the * is just a generic wildcard - I'm pretty sure they are not implying a literal asterisk either). Note that this probably includes several different bots (plural), but they are grouped by this "catch all". So you might end up blocking more than you bargained for by blocking this generic pattern. (?) Later versions of Awstats seem to be more specific in the description (assuming this refers to the same "bot(s)"):
Unknown robot (identified by 'bot' followed by a space or one of the following characters _+:,.;/\-)
The problem is therefore with your regex.
^bot matches "bot" at the start of the user-agent, if it occurs elsewhere in the user-agent it will not match. (The ^ is the start of string anchor.)
Likewise
^bot* matches "bot", "bott", "bottt", "botttt", etc. at the start of the user-agent. The asterisk being a special char in the regex, matching zero or more occurrences of the previous character.
bot\* and
botSQ*SQ (which I'm not sure how to type inline in this forum without it being pretty-printed?!) both match the literal string "bot*" anywhere in the user-agent - which is along the right lines, but (as mentioned above) I doubt that it is a literal asterisk in the user-agent string that you are trying to match.
So, I'm wondering why you didn't simply try:
RewriteCond %{HTTP_USER_AGENT} bot
That would match "bot" anywhere in the user-agent string. However, this might be a bit too general, so you could change this to match the updated description:
RewriteCond %{HTTP_USER_AGENT} bot[\ _+:,.;/\\-] [NC]
I've thrown in the NC flag, in case there might be a "Bot", "bOT" or "BOT", etc. (?) You could change the escaped space with the \s character class if it's easier to read.
Or, (maybe too general?) match any non-word character, or the underscore:
RewriteCond %{HTTP_USER_AGENT} bot[\W_] [NC]
[edited by: whitespace at 9:20 am (utc) on Jun 22, 2015]