Merge pull request #96 from mccoyst/emojifyme-signal-enhancement-for-eaburns-and-me

Emojifyme signal enhancement for eaburns and me
This commit is contained in:
Chris Sexton 2017-12-03 20:42:31 -05:00 committed by GitHub
commit d4274b61f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 4 deletions

View File

@ -91,6 +91,7 @@ type Config struct {
}
Emojify struct {
Chance float64
Scoreless []string
}
Reaction struct {
GeneralChance float64

View File

@ -29,7 +29,11 @@ config = {
YourChance = 0.4
},
Emojify = {
Chance = 0.02
Chance = 0.02,
Scoreless = {
"a",
"it"
}
},
DB = {
File = "catbase.db",

View File

@ -67,23 +67,30 @@ func (p *EmojifyMePlugin) Message(message msg.Message) bool {
}
}
inertTokens := p.Bot.Config().Emojify.Scoreless
emojied := 0.0
tokens := strings.Fields(strings.ToLower(message.Body))
for i, token := range tokens {
if _, ok := p.Emoji[token]; ok {
emojied++
if !stringsContain(inertTokens, token) {
emojied++
}
tokens[i] = ":" + token + ":"
} else if strings.HasSuffix(token, "s") {
//Check to see if we can strip the trailing "es" off and get an emoji
temp := strings.TrimSuffix(token, "s")
if _, ok := p.Emoji[temp]; ok {
emojied++
if !stringsContain(inertTokens, temp) {
emojied++
}
tokens[i] = ":" + temp + ":s"
} else if strings.HasSuffix(token, "es") {
//Check to see if we can strip the trailing "es" off and get an emoji
temp := strings.TrimSuffix(token, "es")
if _, ok := p.Emoji[temp]; ok {
emojied++
if !stringsContain(inertTokens, temp) {
emojied++
}
tokens[i] = ":" + temp + ":es"
}
}
@ -114,3 +121,12 @@ func (p *EmojifyMePlugin) RegisterWeb() *string {
}
func (p *EmojifyMePlugin) ReplyMessage(message msg.Message, identifier string) bool { return false }
func stringsContain(haystack []string, needle string) bool {
for _, s := range haystack {
if s == needle {
return true
}
}
return false
}