1
0

we should always get a fun hat

This commit is contained in:
2020-12-08 15:35:40 +01:00
parent 53d01e04fe
commit dc41c5c49c
2 changed files with 24 additions and 13 deletions

View File

@ -48,10 +48,14 @@ func TestGetHelpMessage(t *testing.T) {
} }
} }
// it's just hats, what else is there to check // it's just hats, what else is there to check beside if the string isn't empty
func TestGetHatMessage(t *testing.T) { func TestGetHatMessage(t *testing.T) {
var hats string = getHatMessage() var hats string = getHatMessage()
if len(hats) <= 0 { if len(hats) <= 0 {
t.Fail() t.Fail()
} }
} }
func TestGetTalkbackMessage(t *testing.T) {
return
}

View File

@ -49,15 +49,29 @@ func getHelpMessage() string {
func getHatMessage() string { func getHatMessage() string {
hat := []string{"🧢", "👒", "⛑", "🎩", "🎓"} hat := []string{"🧢", "👒", "⛑", "🎩", "🎓"}
rand.Seed(time.Now().UnixNano()) rand.Seed(time.Now().UnixNano())
var amount int = rand.Intn(len(hat)) var amount int = (rand.Intn(len(hat) -1) +1)
var bag []string var bag []string
for i := 0; i < amount; i++ { for i := 0; i < amount; i++ {
rand.Seed(time.Now().UnixNano()) rand.Seed(time.Now().UnixNano())
bag = append(bag, hat[rand.Intn(len(hat))]) bag = append(bag, hat[(rand.Intn(len(hat) -1) +1)])
} }
return strings.Join(bag, " ") return strings.Join(bag, " ")
} }
func getTalkbackMessage(message string) string {
for _, t := range ConfigRegister.Talkback {
for _, p := range t.Domain.Patterns {
rand.Seed(time.Now().UnixNano())
if strings.Contains(strings.ToLower(message), strings.ToLower(p)) &&
rand.Intn(2) == 1 {
rand.Seed(time.Now().UnixNano())
return t.Domain.Answers[rand.Intn(len(t.Domain.Answers))]
}
}
}
return ""
}
func MessageHandler(s *discordgo.Session, m *discordgo.MessageCreate) { func MessageHandler(s *discordgo.Session, m *discordgo.MessageCreate) {
for alias, _ := range CommandRegister { for alias, _ := range CommandRegister {
if strings.HasPrefix(m.Content, alias) { if strings.HasPrefix(m.Content, alias) {
@ -78,16 +92,9 @@ func MessageTalkback(s *discordgo.Session, m *discordgo.MessageCreate) {
if m.Author.ID == s.State.User.ID { if m.Author.ID == s.State.User.ID {
return return
} }
for _, t := range ConfigRegister.Talkback { var answer string = getTalkbackMessage(m.Content)
for _, p := range t.Domain.Patterns { if answer != "" {
rand.Seed(time.Now().UnixNano()) s.ChannelMessageSend(m.ChannelID, answer)
if strings.Contains(strings.ToLower(m.Content), strings.ToLower(p)) &&
rand.Intn(2) == 1 {
rand.Seed(time.Now().UnixNano())
answer := t.Domain.Answers[rand.Intn(len(t.Domain.Answers))]
s.ChannelMessageSend(m.ChannelID, answer)
}
}
} }
} }