2using System.Threading.Tasks;
23 public override string Name =>
"Leave";
36 await ResponseCallback(
"Multi-User Chat disabled.",
string.Empty);
40 Enter.ParseRoom(Arguments[0], out
string RoomId, out
string Domain);
42 if (!
XmppServerModule.Instance.TryGetNickName(RoomId, Domain, out
string NickName))
44 await ResponseCallback(
"Not occupant of room.",
string.Empty);
48 await
Gateway.
MucClient.LeaveRoom(RoomId, Domain, NickName, async (Sender, e) =>
52 StringBuilder sb = new StringBuilder();
54 sb.Append(
"Left room `");
60 await ResponseCallback(sb.ToString(), string.Empty);
63 await ResponseCallback(
string.IsNullOrEmpty(e.ErrorText) ?
"Unable to leave room." : e.ErrorText,
string.Empty);
78 public override string[]
HelpParagraphs =>
new string[] {
"Leaves a Multi-User Chat Room named `ROOM`." };
Static class managing the runtime environment of the IoT Gateway.
static MultiUserChatClient MucClient
XMPP Multi-User Chat Protocol (MUC) Client.
An administrative command taking one parameter.
Asks the broker to enter a room.
Asks the broker to leave a room.
override string Name
Command name
Leave()
Asks the broker to leave a room.
override async Task Execute(ChatState State, string[] Arguments, string OrgMessage, ResponseCallbackHandler ResponseCallback)
Executes the command.
override string[] HelpParagraphs
Markdown description of syntax.
override string ParameterName
Name of parameter.
Service Module hosting the XMPP broker and its components.
delegate Task< string > ResponseCallbackHandler(string Markdown, string MessageId)
Delegate for response callback handler methods.