diff --git a/discord/register.go b/discord/register.go index b6ecf39..0161ae2 100644 --- a/discord/register.go +++ b/discord/register.go @@ -67,38 +67,38 @@ func init() { return "No application found for that player", nil } } - } else if len(apps) > 0 { - if apps[0].Accepted != nil && *apps[0].Accepted { - return fmt.Sprintf("Please join the server at `%s` and then re-try this command", cmd.config.Register.URL), nil - } - } else { + } + if len(apps) == 0 { return "No player or applications found for that username", nil } - accepted := apps[0].Accepted + accepted := apps[0].Accepted if accepted == nil { return "Your application is still being reviewed, hang tight", nil } else if !*accepted { return "Your application was denied, good luck finding a new server", nil } - // Accepted, check for dupe user - guild, err := cmd.session.State.Guild(cmd.message.GuildID) - if err != nil { - return "", err - } - for _, member := range guild.Members { - nick := member.Nick - if nick == "" { - nick = member.User.Username + if nickname != "" { + // Accepted, check for dupe user + guild, err := cmd.session.State.Guild(cmd.message.GuildID) + if err != nil { + return "", err } - if strings.EqualFold(nickname, nick) && cmd.message.Author.ID != member.User.ID { - return "A member with that name already exists in this Discord. Please contact staff.", nil + for _, member := range guild.Members { + nick := member.Nick + if nick == "" { + nick = member.User.Username + } + if strings.EqualFold(nickname, nick) && cmd.message.Author.ID != member.User.ID { + return "A member with that name already exists in this Discord. Please contact staff.", nil + } + } + + if err := cmd.session.GuildMemberNickname(cmd.message.GuildID, cmd.message.Author.ID, nickname); err != nil { + return "", err } - } - if err := cmd.session.GuildMemberNickname(cmd.message.GuildID, cmd.message.Author.ID, nickname); err != nil { - return "", err } if err := cmd.session.GuildMemberRoleAdd(cmd.message.GuildID, cmd.message.Author.ID, cmd.config.Register.Role); err != nil { return "", err