better error handling for broken redirects
This commit is contained in:
parent
ffae758587
commit
3cdb5418ff
30
command.go
30
command.go
|
@ -204,19 +204,28 @@ func generateReply(message *discordgo.MessageCreate, command *Command) string {
|
|||
* Hence, small wrappers around the redirect function.
|
||||
*/
|
||||
func modComplain(s *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
redirectMessage(s, m, config.ModChannel, true)
|
||||
success := redirectMessage(s, m, config.ModChannel, true)
|
||||
dm, _ := s.UserChannelCreate(m.Author.ID)
|
||||
s.ChannelMessageSend(dm.ID, config.ComplaintReceivedMessage)
|
||||
if success {
|
||||
s.ChannelMessageSend(dm.ID, config.ComplaintReceivedMessage)
|
||||
} else {
|
||||
s.ChannelMessageSend(dm.ID, "Could not send message. Please tell kageru about this.")
|
||||
}
|
||||
}
|
||||
|
||||
func selphyComplain(s *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
dm_target, _ := s.UserChannelCreate("190958368301645824")
|
||||
redirectMessage(s, m, dm_target.ID, true)
|
||||
success := redirectMessage(s, m, dm_target.ID, true)
|
||||
dm, _ := s.UserChannelCreate(m.Author.ID)
|
||||
s.ChannelMessageSend(dm.ID, config.ComplaintReceivedMessage)
|
||||
if success {
|
||||
s.ChannelMessageSend(dm.ID, config.ComplaintReceivedMessage)
|
||||
} else {
|
||||
s.ChannelMessageSend(dm.ID, "Could not send message. Please tell kageru about this.")
|
||||
}
|
||||
}
|
||||
|
||||
func redirectMessage(s *discordgo.Session, m *discordgo.MessageCreate, target string, isEmbed bool) {
|
||||
func redirectMessage(s *discordgo.Session, m *discordgo.MessageCreate, target string, isEmbed bool) bool {
|
||||
var err error
|
||||
if isEmbed {
|
||||
embed := &discordgo.MessageEmbed{
|
||||
// Embed are anonymized by default for now. Fits the use case.
|
||||
|
@ -224,10 +233,15 @@ func redirectMessage(s *discordgo.Session, m *discordgo.MessageCreate, target st
|
|||
Color: 0xbb0000,
|
||||
Description: m.Content,
|
||||
}
|
||||
s.ChannelMessageSendEmbed(target, embed)
|
||||
return
|
||||
_, err = s.ChannelMessageSendEmbed(target, embed)
|
||||
} else {
|
||||
_, err = s.ChannelMessageSend(target, messageToString(m.Message))
|
||||
}
|
||||
s.ChannelMessageSend(target, messageToString(m.Message))
|
||||
if err != nil {
|
||||
log.Printf("Could not redirect message", err)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func echoMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user