The current plugin's IRCPluginState, via which to send messages to the server.
Target of the emote, either a nickname to be sent as a private message, or a channel.
Message body content to send.
Custom message properties, such as Message.Property.quiet and Message.Property.forced.
String name of the calling function, or something else that gives context.
IRCPluginState state; { emote(state, "#channel", "content"); immutable m = state.outgoingMessages.data[0]; with (m.event) { assert((type == IRCEvent.Type.EMOTE), Enum!(IRCEvent.Type).toString(type)); assert((channel == "#channel"), channel); assert((content == "content"), content); assert(!target.nickname.length, target.nickname); assert(m.properties == Message.Property.init); } state.outgoingMessages.clear(); } { emote(state, "kameloso", "content"); immutable m = state.outgoingMessages.data[0]; with (m.event) { assert((type == IRCEvent.Type.EMOTE), Enum!(IRCEvent.Type).toString(type)); assert(!channel.length, channel); assert((target.nickname == "kameloso"), target.nickname); assert((content == "content"), content); assert(m.properties == Message.Property.init); } }
Sends an ACTION "emote" to the supplied target (nickname or channel).