aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2017-02-02 09:23:16 -0800
committerChristine Dodrill <me@christine.website>2017-02-02 09:23:16 -0800
commit0de2deba5f6031d673709fd04f92bfba6cbf50b8 (patch)
treedec4517679bb517a2044d5cf3976dcd6e7f9a683
parent84dc81a9813db733709c0a632cb815f3ffa31fa2 (diff)
downloadx-0de2deba5f6031d673709fd04f92bfba6cbf50b8.tar.xz
x-0de2deba5f6031d673709fd04f92bfba6cbf50b8.zip
discordaway now manages my TODO list
-rw-r--r--discordaway/main.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/discordaway/main.go b/discordaway/main.go
index ff6754c..7b56f9e 100644
--- a/discordaway/main.go
+++ b/discordaway/main.go
@@ -4,6 +4,7 @@ import (
"bytes"
"log"
"os/exec"
+ "strings"
"time"
"github.com/bwmarrin/discordgo"
@@ -24,6 +25,13 @@ func main() {
log.Fatal(err)
}
+ dg.AddHandler(messageCreate)
+
+ err = dg.Open()
+ if err != nil {
+ log.Fatal(err)
+ }
+
log.Println("monitoring tmux status...")
t := time.NewTicker(300 * time.Second)
@@ -59,3 +67,28 @@ func isTmuxAttached() (bool, error) {
return bytes.HasPrefix(output, []byte("attached")), nil
}
+
+func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
+ if m.Author.ID == "72838115944828928" {
+ content := m.ContentWithMentionsReplaced()
+
+ if strings.HasPrefix(content, "TODO: ") {
+ todoBody := strings.SplitN(content, "TODO: ", 2)[1]
+
+ log.Printf("todo added: %s", todoBody)
+ todoFields := strings.Fields(todoBody)
+
+ cmd := exec.Command("/home/xena/go/bin/todo", append([]string{"add"}, todoFields...)...)
+ err := cmd.Start()
+ if err != nil {
+ log.Println(err)
+ return
+ }
+
+ err = cmd.Wait()
+ if err != nil {
+ log.Println(err)
+ }
+ }
+ }
+}