Skip to content

Commit

Permalink
Comic and Emoji Fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
iopred committed Apr 23, 2020
1 parent 6d41d9b commit 1fc7637
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 22 deletions.
24 changes: 17 additions & 7 deletions comicplugin/comicplugin.go
Original file line number Diff line number Diff line change
Expand Up @@ -365,9 +365,12 @@ func (p *comicPlugin) Message(bot *bruxism.Bot, service bruxism.Service, message
service.SendMessage(message.Channel(), fmt.Sprintf("Sorry %s, there was an error creating the comic.", message.UserName()))
return
}
messages = make([]bruxism.Message, len(ms))
for i := 0; i < len(ms); i++ {
messages[len(ms) - i - 1] = &bruxism.DiscordMessage{
if len(ms) < lines {
lines = len(ms)
}
messages = make([]bruxism.Message, lines)
for i := 0; i < lines; i++ {
messages[lines - i - 1] = &bruxism.DiscordMessage{
Discord: discord,
DiscordgoMessage: ms[i],
MessageType: bruxism.MessageTypeDelete,
Expand All @@ -389,10 +392,17 @@ func (p *comicPlugin) Message(bot *bruxism.Bot, service bruxism.Service, message
}

p.makeComic(bot, service, message, globalID, makeScriptFromMessages(service, message, messages, room))
} else if !bruxism.MatchesCommand(service, "", message) {
} else {
messageHistory := false
if service.Name() == bruxism.DiscordServiceName {
pe, err := service.(*bruxism.Discord).UserChannelPermissions(message.UserID(), message.Channel())
if err == nil && pe&discordgo.PermissionReadMessageHistory != 0 {
// messageHistory = true
}
}
switch message.Type() {
case bruxism.MessageTypeCreate:
if service.Name() == bruxism.DiscordServiceName {
if messageHistory {
p.Count[message.Channel()]++
return
}
Expand All @@ -402,7 +412,7 @@ func (p *comicPlugin) Message(bot *bruxism.Bot, service bruxism.Service, message
log = append(log[1:], message)
}
case bruxism.MessageTypeUpdate:
if service.Name() == bruxism.DiscordServiceName {
if messageHistory{
return
}
for i, m := range log {
Expand All @@ -412,7 +422,7 @@ func (p *comicPlugin) Message(bot *bruxism.Bot, service bruxism.Service, message
}
}
case bruxism.MessageTypeDelete:
if service.Name() == bruxism.DiscordServiceName {
if messageHistory {
p.Count[message.Channel()]--
return
}
Expand Down
36 changes: 22 additions & 14 deletions emojiplugin/emojiplugin.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package emojiplugin
import (
"fmt"
"net/http"
"io/ioutil"
"os"
"regexp"
"strings"
Expand All @@ -11,7 +12,19 @@ import (
"github.com/iopred/bruxism"
)

func emojiFile(base, s string) string {
var emoji map[string]bool = map[string]bool{}

func init() {
f, err := ioutil.ReadDir("emoji/twitter")
if err != nil {
return
}
for _, file := range f {
emoji[file.Name()] = true
}
}

func emojiFile(s string) string {
found := ""
filename := ""
for _, r := range s {
Expand All @@ -20,11 +33,8 @@ func emojiFile(base, s string) string {
} else {
filename = fmt.Sprintf("%x", r)
}

if _, err := os.Stat(fmt.Sprintf("%s/%s.png", base, filename)); err == nil {
if emoji[fmt.Sprintf("%s.png", filename)] {
found = filename
} else if found != "" {
return found
}
}
return found
Expand Down Expand Up @@ -79,15 +89,13 @@ func emojiMessageFunc(bot *bruxism.Bot, service bruxism.Service, message bruxism
}

s := strings.TrimSpace(parts[0])
for i := range s {
filename := emojiFile(base, s[i:])
if filename != "" {
if f, err := os.Open(fmt.Sprintf("%s/%s.png", base, filename)); err == nil {
defer f.Close()
service.SendFile(message.Channel(), "emoji.png", f)

return
}
filename := emojiFile(s)
if filename != "" {
if f, err := os.Open(fmt.Sprintf("%s/%s.png", base, filename)); err == nil {
defer f.Close()
service.SendFile(message.Channel(), "emoji.png", f)

return
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion inviteplugin/inviteplugin.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func InviteCommand(bot *bruxism.Bot, service bruxism.Service, message bruxism.Me
discord := service.(*bruxism.Discord)

if discord.ApplicationClientID != "" {
service.SendMessage(message.Channel(), fmt.Sprintf("Please visit <https://discordapp.com/oauth2/authorize?client_id=%s&scope=bot> to add %s to your server.", discord.ApplicationClientID, service.UserName()))
service.SendMessage(message.Channel(), fmt.Sprintf("Please visit <https://discordapp.com/oauth2/authorize?client_id=%s&scope=bot&permissions=537394240> to add %s to your server.", discord.ApplicationClientID, service.UserName()))
return
}
}
Expand Down

0 comments on commit 1fc7637

Please sign in to comment.