I would suggest to add a function (or change the existing printMessage function) to be able to print a message in a private chat.
Currently you can only print a message to a private chat via printMessageToCurrentTab, but you never know (or only with a lot of overhead), if it's the current tab.
My suggestion would be:
Code:
enum PluginMessageTarget {
PLUGIN_MESSAGE_TARGET_SERVER = 0,
PLUGIN_MESSAGE_TARGET_CHANNEL,
PLUGIN_MESSAGE_TARGET_CLIENT
};
void (*printMessage)(uint64 schid, const char* message, enum PluginMessageTarget messageTarget, anyID toID);
toID could be ignored, if messageTarget is not PLUGIN_MESSAGE_TARGET_CLIENT. If there is no private chat with "toID", the client could ignore it or throw an error.