about summary refs log tree commit diff stats
path: root/src/command/cmd_funcs.c
diff options
context:
space:
mode:
authorPaul Fariello <paul@fariello.eu>2018-03-21 18:00:11 +0100
committerPaul Fariello <paul@fariello.eu>2018-09-05 13:42:28 +0200
commitca022ec75e12d28e6ce71447fe877b90518de310 (patch)
tree3110d9b72805ba0a9d3ab3c17a0ead21a745cbcb /src/command/cmd_funcs.c
parent82f77a92858cc265b83a064907b8f778962bd7a9 (diff)
downloadprofani-tty-ca022ec75e12d28e6ce71447fe877b90518de310.tar.gz
Add command command
Initial commit to test commands API
Diffstat (limited to 'src/command/cmd_funcs.c')
-rw-r--r--src/command/cmd_funcs.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/command/cmd_funcs.c b/src/command/cmd_funcs.c
index c8aa22b4..048bdd6c 100644
--- a/src/command/cmd_funcs.c
+++ b/src/command/cmd_funcs.c
@@ -7469,6 +7469,29 @@ cmd_encwarn(ProfWin *window, const char *const command, gchar **args)
     return TRUE;
 }
 
+gboolean
+cmd_command(ProfWin *window, const char *const command, gchar **args)
+{
+    jabber_conn_status_t conn_status = connection_get_status();
+
+    if (conn_status != JABBER_CONNECTED) {
+        cons_show("You are not currently connected.");
+        return TRUE;
+    }
+
+    if (args[0] == NULL && connection_supports(XMPP_FEATURE_COMMANDS) == FALSE) {
+        cons_show("Server does not support ad hoc commands.");
+        return TRUE;
+    }
+
+    ProfMucWin *mucwin = (ProfMucWin*)window;
+
+    iq_send_command(mucwin->roomjid, args[0]);
+
+    cons_show("Execute %s...", args[0]);
+    return TRUE;
+}
+
 static gboolean
 _cmd_execute(ProfWin *window, const char *const command, const char *const inp)
 {