everything but 2 4 and 5 requires messing with source code (aka instant failbin if publicly released), and 4 would be included in the insta-failbin requirement if you want the blue name that shows up in the top left when typing as the bot.
How does making the bot have a name and talking under said name require messing with the source code?
Couldnt you do something like this as a part of a function or something? (Please excuse me if i sound loving idiotic, i barely understand torquescript)
Messageall('',"<color:ffff00>$BotName <color:fffff>: $BotTextCustom ");
Btw, i should have mentioned before, i want this to be admin only since bots can crash a server if misused.