mirror of https://github.com/velour/catbase.git
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:
commit
d4274b61f0
|
@ -91,6 +91,7 @@ type Config struct {
|
|||
}
|
||||
Emojify struct {
|
||||
Chance float64
|
||||
Scoreless []string
|
||||
}
|
||||
Reaction struct {
|
||||
GeneralChance float64
|
||||
|
|
|
@ -29,7 +29,11 @@ config = {
|
|||
YourChance = 0.4
|
||||
},
|
||||
Emojify = {
|
||||
Chance = 0.02
|
||||
Chance = 0.02,
|
||||
Scoreless = {
|
||||
"a",
|
||||
"it"
|
||||
}
|
||||
},
|
||||
DB = {
|
||||
File = "catbase.db",
|
||||
|
|
|
@ -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 {
|
||||
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 {
|
||||
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 {
|
||||
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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue