summaryrefslogtreecommitdiffstats
path: root/handlers/raw.go
diff options
context:
space:
mode:
Diffstat (limited to 'handlers/raw.go')
-rw-r--r--handlers/raw.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/handlers/raw.go b/handlers/raw.go
new file mode 100644
index 0000000..3a93947
--- /dev/null
+++ b/handlers/raw.go
@@ -0,0 +1,32 @@
+package handlers
+
+import (
+ "fmt"
+
+ "github.com/ThomsonReutersEikon/open-nitro/src/bots/xmppclient"
+ "github.com/bjc/goctl"
+)
+
+type Raw struct{}
+
+func (rh Raw) Name() string {
+ return "raw"
+}
+
+func (rh Raw) Help() string {
+ return "send raw data"
+}
+
+func (rh Raw) Run(_ *goctl.Goctl, args []string) string {
+ if xb == nil {
+ return "ERROR: bot is not connected."
+ }
+
+ if b, ok := xb.(*xmppclient.Bot); !ok {
+ return "ERROR: can only send raw data on XMPP bot."
+ } else if err := b.Sendf(args[0]); err != nil {
+ return fmt.Sprintf("ERROR: sending raw data: %s", err)
+ }
+
+ return "ok"
+}