grim/wasdead
Clone
Summary
Browse
Changes
Graph
Clean up some logging
draft
2020-09-26, Gary Kramlich
bedb77e608b8
Clean up some logging
package
discord
import
(
"strings"
"github.com/bwmarrin/discordgo"
"github.com/google/shlex"
log
"github.com/sirupsen/logrus"
)
func
(
c
*
DiscordClient
)
messageHandler
(
s
*
discordgo
.
Session
,
m
*
discordgo
.
MessageCreate
)
{
// ignore messages for ourselves
if
m
.
Author
.
ID
==
s
.
State
.
User
.
ID
{
return
}
// check if we match the normal mention format
if
!
strings
.
HasPrefix
(
m
.
Content
,
c
.
user
.
Mention
())
{
// now try the mention from a guild member
member
,
err
:=
s
.
GuildMember
(
m
.
GuildID
,
c
.
user
.
ID
)
if
err
!=
nil
{
log
.
Warnf
(
"Failed to get the build member for the bot: %v"
,
err
)
return
}
if
!
strings
.
HasPrefix
(
m
.
Content
,
member
.
Mention
())
{
return
}
}
args
,
err
:=
shlex
.
Split
(
m
.
Content
)
if
err
!=
nil
{
log
.
Warnf
(
"error processing: %#v: %v"
,
m
.
Content
,
err
)
c
.
sendChannel
(
m
.
ChannelID
,
err
.
Error
())
return
}
// remove the metion from the start
args
=
args
[
1
:]
// call parse commands
err
=
c
.
processCommand
(
args
,
m
)
if
err
!=
nil
{
log
.
Warnf
(
"error processing %#v: %v"
,
m
.
Content
,
err
)
}
}