diff --git a/.drone.yml b/.drone.yml index 4d81de7..5c9eba7 100644 --- a/.drone.yml +++ b/.drone.yml @@ -37,6 +37,6 @@ steps: settings: token: from_secret: gitea_token - base: https://git.birbmc.com + base: https://git.canopymc.net files: - "canopeas" \ No newline at end of file diff --git a/config/canopeas.example.toml b/config/canopeas.example.toml index f01f229..f1ff6a1 100644 --- a/config/canopeas.example.toml +++ b/config/canopeas.example.toml @@ -13,12 +13,6 @@ mc_path = "/home/minecraft/server/" # fired_role is to check how many time Carolyn has been fired fired_role = "0" -# register_role is the role to assign to a user after registering -register_role = "0" - -# registered_channel is the channel to message to welcome the newly registered user -registered_channel = "0" - # leave_channel is the channel to post leave messages to leave_channel = "0" @@ -31,6 +25,16 @@ meme_rate = "0" # Imgur Client ID imgur_client_id = "" +[register] +# role is the role to assign to a user after registering +role = "0" + +# url is the URL to show to new users +url = "https://google.com" + +# welcome_channel is the channel to message to welcome the newly registered user +welcome_channel = "0" + # ServerAPI options [serverapi] # API endpoint diff --git a/config/config.go b/config/config.go index 73101a0..bd0d679 100644 --- a/config/config.go +++ b/config/config.go @@ -35,17 +35,19 @@ type Config struct { AccessToken string `toml:"access_token"` AccessSecret string `toml:"access_secret"` } `toml:"twitter"` - - StaffRoles []string `toml:"staff_roles"` - Echoes []Echo `toml:"echoes"` - Albums []Album `toml:"albums"` - MessageRoles []MessageRole `toml:"message_roles"` - RegisterRole string `toml:"register_role"` - RegisteredChannel string `toml:"registered_channel"` - LeaveChannel string `toml:"leave_channel"` - FiredRole string `toml:"fired_role"` - MemeRate string `toml:"meme_rate"` - Insult struct { + StaffRoles []string `toml:"staff_roles"` + Echoes []Echo `toml:"echoes"` + Albums []Album `toml:"albums"` + MessageRoles []MessageRole `toml:"message_roles"` + Register struct { + URL string `toml:"url"` + Role string `toml:"role"` + WelcomeChannel string `toml:"welcome_channel"` + } `toml:"register"` + LeaveChannel string `toml:"leave_channel"` + FiredRole string `toml:"fired_role"` + MemeRate string `toml:"meme_rate"` + Insult struct { Targets []string `toml:"targets"` Comparisons []string `toml:"comparisons"` Adjectives []string `toml:"adjectives"` diff --git a/discord/ban.go b/discord/ban.go index 9976341..5601499 100644 --- a/discord/ban.go +++ b/discord/ban.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "git.birbmc.com/Etzelia/go-serverapi" + "git.canopymc.net/Etzelia/go-serverapi" ) func init() { diff --git a/discord/birb.go b/discord/birb.go index dba4e7a..572fb82 100644 --- a/discord/birb.go +++ b/discord/birb.go @@ -6,7 +6,7 @@ import ( "strconv" "strings" - "git.birbmc.com/Etzelia/falseknees" + "git.canopymc.net/Etzelia/falseknees" ) func init() { diff --git a/discord/broadcast.go b/discord/broadcast.go index 7864fcd..a6c3513 100644 --- a/discord/broadcast.go +++ b/discord/broadcast.go @@ -5,7 +5,7 @@ import ( "net/http" "strings" - "git.birbmc.com/Etzelia/go-serverapi" + "git.canopymc.net/Etzelia/go-serverapi" ) func init() { diff --git a/discord/discord.go b/discord/discord.go index c3e9571..00a9527 100644 --- a/discord/discord.go +++ b/discord/discord.go @@ -5,10 +5,10 @@ import ( "strings" "time" - "git.birbmc.com/canopeas/config" - "git.birbmc.com/canopeas/database" + "git.canopymc.net/Etzelia/canopeas/config" + "git.canopymc.net/Etzelia/canopeas/database" - "git.birbmc.com/Etzelia/go-serverapi" + "git.canopymc.net/Etzelia/go-serverapi" "github.com/bwmarrin/discordgo" "github.com/dghubble/go-twitter/twitter" "github.com/dghubble/oauth1" diff --git a/discord/echo.go b/discord/echo.go index df08ff1..439bff7 100644 --- a/discord/echo.go +++ b/discord/echo.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - "git.birbmc.com/canopeas/config" + "git.canopymc.net/Etzelia/canopeas/config" "github.com/bwmarrin/discordgo" ) diff --git a/discord/imgur.go b/discord/imgur.go index 8c441f5..7705375 100644 --- a/discord/imgur.go +++ b/discord/imgur.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" - "git.birbmc.com/canopeas/config" - "git.birbmc.com/canopeas/imgur" + "git.canopymc.net/Etzelia/canopeas/config" + "git.canopymc.net/Etzelia/canopeas/imgur" "github.com/bwmarrin/discordgo" ) diff --git a/discord/inspire.go b/discord/inspire.go index c622f7d..8a66759 100644 --- a/discord/inspire.go +++ b/discord/inspire.go @@ -1,6 +1,6 @@ package discord -import "git.birbmc.com/Etzelia/inspiro" +import "git.canopymc.net/Etzelia/inspiro" func init() { commands = append(commands, &command{ diff --git a/discord/register.go b/discord/register.go index 7a4a3e3..b844857 100644 --- a/discord/register.go +++ b/discord/register.go @@ -7,10 +7,10 @@ import ( "path/filepath" "strings" - "git.birbmc.com/canopeas/config" + "git.canopymc.net/Etzelia/canopeas/config" - "git.birbmc.com/Etzelia/go-mcm" - "git.birbmc.com/Etzelia/go-mcm/model/django" + "git.canopymc.net/Etzelia/go-mcm" + "git.canopymc.net/Etzelia/go-mcm/model/django" ) const bannedPlayersFile = "banned-players.json" @@ -69,7 +69,7 @@ func init() { } } else if len(apps) > 0 { if apps[0].Accepted != nil && *apps[0].Accepted { - return "Please join the server and then re-try this command", nil + return fmt.Sprintf("Please join the server at `%s` and then re-try this command", cmd.config.Register.URL), nil } } else { return "No player or applications found for that username", nil @@ -82,16 +82,30 @@ func init() { return "Your application was denied, good luck finding a new server", nil } - // Accepted + // 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 strings.EqualFold(nickname, nick) { + 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.GuildMemberRoleAdd(cmd.message.GuildID, cmd.message.Author.ID, cmd.config.RegisterRole); err != nil { + if err := cmd.session.GuildMemberRoleAdd(cmd.message.GuildID, cmd.message.Author.ID, cmd.config.Register.Role); err != nil { return "", err } // Don't return feedback because this goes in a different channel - sendMessage(cmd.session, cmd.config.RegisteredChannel, fmt.Sprintf("Welcome, **%s**!", cmd.message.Author.Mention()), false) + sendMessage(cmd.session, cmd.config.Register.WelcomeChannel, fmt.Sprintf("Welcome, **%s**!", cmd.message.Author.Mention()), false) return "", nil }, help: "Register yourself with the Discord", diff --git a/discord/unban.go b/discord/unban.go index b357048..cee5344 100644 --- a/discord/unban.go +++ b/discord/unban.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "git.birbmc.com/canopeas/database" + "git.canopymc.net/Etzelia/canopeas/database" ) func init() { diff --git a/discord/utils.go b/discord/utils.go index fcd11b2..c599243 100644 --- a/discord/utils.go +++ b/discord/utils.go @@ -5,9 +5,9 @@ import ( "net/http" "time" - "git.birbmc.com/canopeas/database" + "git.canopymc.net/Etzelia/canopeas/database" - "git.birbmc.com/Etzelia/go-serverapi" + "git.canopymc.net/Etzelia/go-serverapi" "go.jolheiser.com/beaver" ) diff --git a/go.mod b/go.mod index 88ce2be..2e0b0b8 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,12 @@ -module git.birbmc.com/canopeas +module git.canopymc.net/Etzelia/canopeas go 1.16 require ( - git.birbmc.com/Etzelia/falseknees v0.0.0-20210505030520-ce2b19ebd088 - git.birbmc.com/Etzelia/go-mcm v0.0.0-20210505031740-e1ed806ef685 - git.birbmc.com/Etzelia/go-serverapi v0.0.0-20210505031332-398feec0ab7c - git.birbmc.com/Etzelia/inspiro v0.0.2 + git.canopymc.net/Etzelia/falseknees v0.0.0-20210713232726-7325698e2451 + git.canopymc.net/Etzelia/go-mcm v0.0.0-20210713232816-d2b27d7edff0 + git.canopymc.net/Etzelia/go-serverapi v0.0.0-20210713233104-94e800dbb304 + git.canopymc.net/Etzelia/inspiro v0.0.3-0.20210713233035-ffd88077147f gitea.com/jolheiser/gojang v0.0.7 gitea.com/jolheiser/xkcd v0.0.2 github.com/bwmarrin/discordgo v0.22.0 diff --git a/go.sum b/go.sum index 82e5002..8b1ea55 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,11 @@ -git.birbmc.com/Etzelia/falseknees v0.0.0-20210505030520-ce2b19ebd088 h1:M4ZyccJQrio2jZEehRTGDs4LQ8FXx8BF+ng346B1cvY= -git.birbmc.com/Etzelia/falseknees v0.0.0-20210505030520-ce2b19ebd088/go.mod h1:BWmpXhZF6Cl/gCGGt0IhJpjnAWjcMBdU+m4nnBEQUk0= -git.birbmc.com/Etzelia/go-mcm v0.0.0-20210505031740-e1ed806ef685 h1:IWiRA9U58aBa2ZW2v7cjDymaxWqr+8DVcskzo4hAU2k= -git.birbmc.com/Etzelia/go-mcm v0.0.0-20210505031740-e1ed806ef685/go.mod h1:JXB7oUc0CS0NwuFkYcHkzbYEBEMigLldn4VLvwFIhdk= -git.birbmc.com/Etzelia/go-serverapi v0.0.0-20210505031332-398feec0ab7c h1:S/9aOOsBbE9rJDk43Vh4HOEgHmHxqehd8VMi5fGdHdM= -git.birbmc.com/Etzelia/go-serverapi v0.0.0-20210505031332-398feec0ab7c/go.mod h1:KH8M3zEZuJw9kNFVE+EOESZaMjSizQzSFiY8bqMd8FY= -git.birbmc.com/Etzelia/inspiro v0.0.2 h1:/lNp4+RLfAvLGoq69cQ4enYjVNYBP7JzRmSxDvQtVWs= -git.birbmc.com/Etzelia/inspiro v0.0.2/go.mod h1:JT9Q/xy8U2Gl/89zfW4Wnag2F1kGm5r6m4QR984lVIg= +git.canopymc.net/Etzelia/falseknees v0.0.0-20210713232726-7325698e2451 h1:EbxWDS7sOyxv8einE7ps8WsywvlFqyKp3vdvk4PYVw4= +git.canopymc.net/Etzelia/falseknees v0.0.0-20210713232726-7325698e2451/go.mod h1:bgGHtcoYFmNIFgcU4P2LwqANZsJxoygnLI0C6OWE/U4= +git.canopymc.net/Etzelia/go-mcm v0.0.0-20210713232816-d2b27d7edff0 h1:UrwR0Ap4sjoRDfbi/ow76OeBAR9pI+BFKMYU6Jj9EtU= +git.canopymc.net/Etzelia/go-mcm v0.0.0-20210713232816-d2b27d7edff0/go.mod h1:M9yjY5mBSK5vGVPru7RG6K5bUfoRH7dTtyQ+MCuJ33g= +git.canopymc.net/Etzelia/go-serverapi v0.0.0-20210713233104-94e800dbb304 h1:gBzoEToJCO1nKbfhfzhGMgSWY6szwDbA8doVmPr3SIY= +git.canopymc.net/Etzelia/go-serverapi v0.0.0-20210713233104-94e800dbb304/go.mod h1:U0H8WgtAzR+L+65odnpUH1lT6z7ylcG6R9keOOTG+fk= +git.canopymc.net/Etzelia/inspiro v0.0.3-0.20210713233035-ffd88077147f h1:CupD+6/4Vrx0fGDIFf+cu8ponr19or3bCzkPPQXmRJk= +git.canopymc.net/Etzelia/inspiro v0.0.3-0.20210713233035-ffd88077147f/go.mod h1:7zYT6obYO7/a3v+gV+uNfNlWK1dJz6Mz7lY9FeRSGOU= gitea.com/jolheiser/gojang v0.0.7 h1:Q4cG7QYiKQsJtUWgXXiolAH9DCLRoaQ4olaO9OV628U= gitea.com/jolheiser/gojang v0.0.7/go.mod h1:r9kj2wv/21Da7VpWz+qmxLexH85o2BAM4NMxeYgQlcY= gitea.com/jolheiser/xkcd v0.0.2 h1:HJP83YwSKxSYcoNfpb1ZpAfBvkUAnN+YgeukraXtfrc= diff --git a/main.go b/main.go index 5c3ac85..295fe0c 100644 --- a/main.go +++ b/main.go @@ -6,9 +6,9 @@ import ( "os/signal" "syscall" - "git.birbmc.com/canopeas/config" - "git.birbmc.com/canopeas/database" - "git.birbmc.com/canopeas/discord" + "git.canopymc.net/Etzelia/canopeas/config" + "git.canopymc.net/Etzelia/canopeas/database" + "git.canopymc.net/Etzelia/canopeas/discord" "go.jolheiser.com/beaver" )