From 0de2deba5f6031d673709fd04f92bfba6cbf50b8 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Thu, 2 Feb 2017 09:23:16 -0800 Subject: discordaway now manages my TODO list --- discordaway/main.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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) + } + } + } +} -- cgit v1.2.3