diff options
| author | Christine Dodrill <me@christine.website> | 2017-02-02 09:23:16 -0800 |
|---|---|---|
| committer | Christine Dodrill <me@christine.website> | 2017-02-02 09:23:16 -0800 |
| commit | 0de2deba5f6031d673709fd04f92bfba6cbf50b8 (patch) | |
| tree | dec4517679bb517a2044d5cf3976dcd6e7f9a683 | |
| parent | 84dc81a9813db733709c0a632cb815f3ffa31fa2 (diff) | |
| download | x-0de2deba5f6031d673709fd04f92bfba6cbf50b8.tar.xz x-0de2deba5f6031d673709fd04f92bfba6cbf50b8.zip | |
discordaway now manages my TODO list
| -rw-r--r-- | discordaway/main.go | 33 |
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) + } + } + } +} |
