- const std::string* serverglob = target.Get<std::string>();
- CmdBuilder par(user, message_type);
- par.push_back(*serverglob);
- par.push_last(details.text);
- par.Broadcast();
+ case MessageTarget::TYPE_USER:
+ {
+ User* d = target.Get<User>();
+ if (!IS_LOCAL(d))
+ {
+ CmdBuilder params(user, "TAGMSG");
+ params.push_tags(details.tags_out);
+ params.push(d->uuid);
+ params.Unicast(d);
+ }
+ break;
+ }
+ case MessageTarget::TYPE_CHANNEL:
+ {
+ Utils->SendChannelMessage(user, target.Get<Channel>(), "", target.status, details.tags_out, details.exemptions, "TAGMSG");
+ break;
+ }
+ case MessageTarget::TYPE_SERVER:
+ {
+ const std::string* serverglob = target.Get<std::string>();
+ CmdBuilder par(user, "TAGMSG");
+ par.push_tags(details.tags_out);
+ par.push(*serverglob);
+ par.Broadcast();
+ break;
+ }