This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
PermissionGacha/modules/commands/star.go

43 lines
1.4 KiB
Go

package commands
import (
"strings"
"github.com/bwmarrin/discordgo"
"PermissionGacha/modules/starboard"
)
func handleStarCommand(s *discordgo.Session, args []string, m *discordgo.MessageCreate) error {
if len(args) == 1 {
s.ChannelMessageSend(m.ChannelID, "**STAR > **It doesn't seem like you've sent a valid message link!")
return nil
}
linkSplit := strings.SplitN(args[1], "/", 7)
if len(linkSplit) < 7 {
s.ChannelMessageSend(m.ChannelID, "**STAR > **It doesn't seem like you've sent a valid message link!")
return nil
}
if linkSplit[0] != "https:" && linkSplit[0] != "http:" {
s.ChannelMessageSend(m.ChannelID, "**STAR > **It doesn't seem like you've sent a valid message link!")
return nil
}
if linkSplit[2] != "discordapp.com" && !strings.HasSuffix(linkSplit[2], ".discordapp.com") {
s.ChannelMessageSend(m.ChannelID, "**STAR > **It doesn't seem like you've sent a valid message link!")
return nil
}
if linkSplit[3] != "channels" {
s.ChannelMessageSend(m.ChannelID, "**STAR > **It doesn't seem like you've sent a valid message link!")
return nil
}
if linkSplit[4] != m.GuildID {
s.ChannelMessageSend(m.ChannelID, "**STAR > **It doesn't seem like you've sent a valid message link!")
return nil
}
err := starboard.AddReact(s, linkSplit[5], linkSplit[6])
if err != nil {
s.ChannelMessageSend(m.ChannelID, "**STAR > **It doesn't seem like you've sent a valid message link!")
}
return nil
}