From 16d76c716bb45df93db394aef7d7fe4272367f79 Mon Sep 17 00:00:00 2001 From: Marc Date: Fri, 1 Oct 2021 14:12:04 +0100 Subject: [PATCH] i forgot what i was doing here --- actions/moderation.go | 21 +++++++++++++++++++++ commands/moderation.go | 12 +++++++----- overwatch/overwatch.go | 2 ++ 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 actions/moderation.go diff --git a/actions/moderation.go b/actions/moderation.go new file mode 100644 index 0000000..6586340 --- /dev/null +++ b/actions/moderation.go @@ -0,0 +1,21 @@ +package actions + +import "github.com/bwmarrin/discordgo" + +func KickUser(s *discordgo.Session, guild string, user string, reason string) error { + err := s.GuildMemberDeleteWithReason(guild, user, reason) + if err != nil { + return err + } + + return nil +} + +func BanUser(s *discordgo.Session, guild string, user string, reason string) error { + err := s.GuildBanCreateWithReason(guild, user, reason, 0) + if err != nil { + return err + } + + return nil +} diff --git a/commands/moderation.go b/commands/moderation.go index 0e4c890..106ccb2 100644 --- a/commands/moderation.go +++ b/commands/moderation.go @@ -2,10 +2,12 @@ package commands import ( "errors" - "github.com/bwmarrin/discordgo" "strconv" "strings" "time" + + "github.com/bwmarrin/discordgo" + "github.com/foxtrot/scuzzy/actions" ) func (c *Commands) handleSetSlowmode(s *discordgo.Session, m *discordgo.MessageCreate) error { @@ -150,7 +152,7 @@ func (c *Commands) handleKickUser(s *discordgo.Session, m *discordgo.MessageCrea return errors.New("You must specify a user to kick.") } if len(args) == 3 { - kickReason = args[2] + kickReason = strings.Join(args[2:], " ") } member := args[1] @@ -162,7 +164,7 @@ func (c *Commands) handleKickUser(s *discordgo.Session, m *discordgo.MessageCrea return err } - err = s.GuildMemberDeleteWithReason(c.Config.GuildID, mHandle.User.ID, kickReason) + err = actions.KickUser(s, c.Config.GuildID, mHandle.User.ID, kickReason) if err != nil { return err } @@ -193,7 +195,7 @@ func (c *Commands) handleBanUser(s *discordgo.Session, m *discordgo.MessageCreat return errors.New("You must specify a user to ban.") } if len(args) == 3 { - banReason = args[2] + banReason = strings.Join(args[2:], " ") } member := args[1] @@ -205,7 +207,7 @@ func (c *Commands) handleBanUser(s *discordgo.Session, m *discordgo.MessageCreat return err } - err = s.GuildBanCreateWithReason(c.Config.GuildID, mHandle.ID, banReason, 0) + err = actions.BanUser(s, c.Config.GuildID, mHandle.ID, banReason, 0) if err != nil { return err } diff --git a/overwatch/overwatch.go b/overwatch/overwatch.go index 8433cfc..8534504 100644 --- a/overwatch/overwatch.go +++ b/overwatch/overwatch.go @@ -16,6 +16,7 @@ type UserMessageStat struct { MessagesLastHour int MessagesLastFiveMins int MessagesLastTenSecs int + LastActiveChannel string Warnings int Kicks int } @@ -89,6 +90,7 @@ func (o *Overwatch) handleUserStat(s *discordgo.Session, m *discordgo.MessageCre user.MessagesLastHour++ user.MessagesLastFiveMins++ user.MessagesLastTenSecs++ + user.LastActiveChannel = m.ChannelID return nil }