Improvements:
There's this thingy about the list of parameters for ts3plugin_onTextMessageEvent(). The third parameter (toID) is pretty much useless in its current implementation. Here's why:
- When the message is sent to the server, the toID is always 0. This is perfectly normal and you don't really need the parameter for this type of text message.
- When the message is sent to the channel, the toID is also 0. I would expect this parameter to indicate the ID of the channel where you've received the message, but since the toID is an anyID it cannot be used for channel IDs as those can get very large and therefore are uint64 numbers.
- When the message is sent private, your own client is the target and there's also no need for the information stored in that parameter as you know your own ID.
I'd like to see the type of toID changed to uint64 and have it contain the channel ID on channel chat messages.
Feature Requests:
I'd like to have the ability to change the active server/chat tab.
Code:
// switch active server tab by server connection handler ID
unsigned int (*switchServerConnectionHandler)(uint64 serverConnectionHandlerID);
// get active chat tab by server connection handler ID
unsigned int (*getCurrentTab)(uint64 serverConnectionHandlerID, anyID* type, anyID* toID);
// set active chat tab by server connection handler ID
unsigned int (*setCurrentTab)(uint64 serverConnectionHandlerID, anyID type, anyID toID);
For getCurrentTab() and setCurrentTab(), the mode could simply use the existing TextMessageTargetMode values while toID could be the client ID for private chat tabs (or 0 for other tabs as you can only have one server/channel tab open per connection).
I'd also like to find out if a client is on my list of friends or blocked people.
Code:
// get client contact type by unique identifier
unsigned int (*getClientContactType)(const char* clientUID, anyID result);
Bugs:
The ts3plugin_onFileTransferStatusEvent() is not fired when a file transfer starts.