The current plugin's IRCPluginState, via which to send messages to the server.
Channel to join.
Channel key to join the channel with, if it's locked.
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; join(state, "#channel"); immutable m = state.outgoingMessages.data[0]; with (m.event) { assert((type == IRCEvent.Type.JOIN), Enum!(IRCEvent.Type).toString(type)); assert((channel == "#channel"), channel); assert(m.properties == Message.Property.init); }
Joins a channel.