package mux import ( "github.com/bwmarrin/discordgo" "strings" "os/exec" "fmt" ) // Display conjured fortunes from the oracle // g!oracle papers factotum is func (m *Mux) Oracle(ds *discordgo.Session, dm *discordgo.Message, ctx *Context) { resp := "```\n" // Read relevant file path := Config.Db["oracledbs"] fields := strings.Fields(dm.Content) fields = fields[1:] f := "papers" prompt := []string{} if len(fields) > 1 { prompt = fields[1:] } if strings.Contains(dm.Content, "papers") { f = "papers" } else if strings.Contains(dm.Content, "fqa") { f = "fqa" } else if strings.Contains(dm.Content, "pooh") { f = "pooh" } else if strings.Contains(dm.Content, "faust") { f = "faust" } else if strings.Contains(dm.Content, "fortunes") { f = "fortunes" } else if strings.Contains(dm.Content, "commie") { f = "commie" } // Linux solution var args []string args = append(args, "-db", path + f, "-len", "20") args = append(args, prompt...) //fmt.Println(args) out, err := exec.Command("oracle", args...).Output() if err != nil { fmt.Println("Error calling oracle(1), see: x/mux/oracle.go") fmt.Println("%s\n", err) } resp += string(out) resp += "```\n" ds.ChannelMessageSend(dm.ChannelID, resp) return }