First I'd like to say outstanding work! I've used the bot for a day and it's already proven to be invaluable.
I especially like the autoidle and autoaway features. A suggestion I have is to add the auto-move-back functionality that autoaway can have to the autoidle feature. If a clan member gets flagged as being idle too long because they haven't said anything in a while (I'm aware that detecting an idle mouse/keyboard can only be done client-side and isn't possible for the bot) during a clan battle, they have to minimize the game in order to switch back to the appropriate channel. This could cause disaster for the battle! If an auto-move-back were to be implemented, when they get moved due to not speaking in a while, all they need to do is say something and they'd be placed back in the battle channel.
Some questions I have are:
- Does the channel that the bot is in effect any of it's features? If so an auto-follow feature would be useful so you could tell the bot to follow you around if you switch channels
- Is it possible to send messages to channels in response to things people type in them even if the bot isn't in that channel? If so, features similar to other plugins people have made would be possible like !dice, !slap, !trivia, etc. But would be more powerful since they could be done from anywhere on the server instead of needing someone with a plugin installed to be present in the channel you're in.
- If an !exec command is sent, what kind of command should be used? Is this for TS server query commands or system/shell commands?
My clan plays a game where in-game-currency is given to the clan based on territories it owns. Twice a month we disperse the currency to our members and each member receives a percentage of what is given out based on their attendance during prime battle hours. The way it's calculated is by a program I wrote that scans the mumble log (we've been using mumble and would like to switch to teamspeak), and if a member joins the "staging area" channel during prime battle hours it updates a google spreadsheet doc indicating that member was present for that day. A formula in the spreadsheet then adds together all the times that member was present during the "pay period" and divides it by the total number of times people showed up for that period to get that person's percentage. The total amount of currency to be given out is multiplied by that percentage in another formula which lets us know exactly how much currency that person should receive. Teamspeak's server logs don't record people entering or leaving a channel (or perhaps I just haven't been able to figure out how to have it record that), so we need another method to record attendance. I'm thinking about extending/adding a feature to JTS3ServerMod that would do this, and am hoping you could offer advice or tips on how to go about making it. I'm slightly new to java, but understand the basics fairly well and know several other languages (python being my strongest).
Thanks again for your wonderful bot! Keep up the good work!