diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2026-03-02 12:38:58 +0100 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2026-03-02 12:38:58 +0100 |
| commit | e566489af26fc9133a3509251812910e03b90c8c (patch) | |
| tree | 186a7aac60c64e3466f7a84f6fcf87e811b2486d | |
| parent | 443286aabc9d9e433625e0dd99e678754bbc74e5 (diff) | |
build(gokord): update to latest nightly
| -rw-r--r-- | commands/config.go | 6 | ||||
| -rw-r--r-- | commands/credits.go | 2 | ||||
| -rw-r--r-- | commands/deploy.go | 2 | ||||
| -rw-r--r-- | commands/rank.go | 5 | ||||
| -rw-r--r-- | commands/reset.go | 4 | ||||
| -rw-r--r-- | commands/stats.go | 9 | ||||
| -rw-r--r-- | commands/top.go | 2 | ||||
| -rw-r--r-- | config/guild.go | 3 | ||||
| -rw-r--r-- | config/xp_reduce.go | 6 | ||||
| -rw-r--r-- | config/xp_role.go | 20 | ||||
| -rw-r--r-- | events.go | 5 | ||||
| -rw-r--r-- | main.go | 8 | ||||
| -rw-r--r-- | rolereact/events.go | 5 | ||||
| -rw-r--r-- | rolereact/manager.go | 4 | ||||
| -rw-r--r-- | rolereact/rolereact.go | 56 | ||||
| -rw-r--r-- | user/level.go | 7 |
16 files changed, 75 insertions, 69 deletions
diff --git a/commands/config.go b/commands/config.go index d9b04ec..37aa953 100644 --- a/commands/config.go +++ b/commands/config.go @@ -121,7 +121,7 @@ func ConfigResponse(ctx context.Context, guildID string) *interaction.Response { } func ConfigCommand(ctx context.Context, dg bot.Session, i *interaction.ApplicationCommand) { - err := dg.InteractionAPI().Respond(i.Interaction, ConfigResponse(ctx, i.GuildID)).Do(ctx) + err := interaction.Respond(i.Interaction, ConfigResponse(ctx, i.GuildID)).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending config", "error", err) } @@ -131,7 +131,7 @@ func ConfigMessageComponent(ctx context.Context, dg bot.Session, i *interaction. response := ConfigResponse(ctx, i.GuildID) response.Type = types.InteractionResponseUpdateMessage - err := dg.InteractionAPI().Respond(i.Interaction, response).Do(ctx) + err := interaction.Respond(i.Interaction, response).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending config", "error", err) } @@ -141,7 +141,7 @@ func ConfigModal(ctx context.Context, dg bot.Session, i *interaction.ModalSubmit response := ConfigResponse(ctx, i.GuildID) response.Type = types.InteractionResponseUpdateMessage - err := dg.InteractionAPI().Respond(i.Interaction, response).Do(ctx) + err := interaction.Respond(i.Interaction, response).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending config", "error", err) } diff --git a/commands/credits.go b/commands/credits.go index a27d2cc..403329e 100644 --- a/commands/credits.go +++ b/commands/credits.go @@ -15,7 +15,7 @@ func Credits(ctx context.Context, dg bot.Session, i *interaction.ApplicationComm msg += "Utilise :\n- [nyttikord/gokord](<https://github.com/nyttikord/gokord>)\n" msg += "- [Inter](<https://github.com/rsms/inter>)" resp := interaction.NewMessageResponse().Message(msg).Response() - err := dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err := interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending credits", "error", err) } diff --git a/commands/deploy.go b/commands/deploy.go index ee98d07..e652d43 100644 --- a/commands/deploy.go +++ b/commands/deploy.go @@ -73,6 +73,6 @@ func Deploy(ctx context.Context, dg bot.Session) error { guildID = dg.GuildAPI().State.Guilds()[0] bot.Logger(ctx).Debug("using guild as debug", "guild", guildID) } - _, err := dg.InteractionAPI().CommandBulkOverwrite(dg.SessionState().Application().ID, guildID, commands).Do(ctx) + _, err := interaction.OverwriteCommands(dg.SessionState().Application().ID, guildID, commands).Do(ctx) return err } diff --git a/commands/rank.go b/commands/rank.go index 07bbe75..aea2aa8 100644 --- a/commands/rank.go +++ b/commands/rank.go @@ -7,6 +7,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "git.anhgelus.world/anhgelus/les-copaings-bot/user" "github.com/nyttikord/gokord/bot" + "github.com/nyttikord/gokord/guild" "github.com/nyttikord/gokord/interaction" ) @@ -17,7 +18,7 @@ func Rank(ctx context.Context, dg bot.Session, i *interaction.ApplicationCommand opts := i.OptionMap() resp := interaction.NewMessageResponse() defer func() { - err := dg.InteractionAPI().Respond(i.Interaction, resp.Response()).Do(ctx) + err := interaction.Respond(i.Interaction, resp.Response()).Do(ctx) if err != nil { bot.Logger(ctx).Error("replying to interaction", "error", err) } @@ -29,7 +30,7 @@ func Rank(ctx context.Context, dg bot.Session, i *interaction.ApplicationCommand resp.IsEphemeral().Message("Imagine si les bots avaient un niveau :rolling_eyes:") return } - m, err = dg.GuildAPI().Member(i.GuildID, u.ID).Do(ctx) + m, err = guild.GetMember(i.GuildID, u.ID).Do(ctx) if err != nil { bot.Logger(ctx).Error("fetching guild member", "error", err, "user", u.Username, "guild", i.GuildID) resp.IsEphemeral().Message("Erreur : impossible de récupérer le membre") diff --git a/commands/reset.go b/commands/reset.go index 85f8f0d..f9c81d2 100644 --- a/commands/reset.go +++ b/commands/reset.go @@ -14,7 +14,7 @@ func Reset(ctx context.Context, dg bot.Session, i *interaction.ApplicationComman //TODO: delete everything from cache common.GetDB(ctx).Where("guild_id = ?", i.GuildID).Delete(&copaings) resp := interaction.NewMessageResponse().IsEphemeral().Message("L'XP a été reset.").Response() - err := dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err := interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending reset success", "error", err) } @@ -23,7 +23,7 @@ func Reset(ctx context.Context, dg bot.Session, i *interaction.ApplicationComman func ResetUser(ctx context.Context, dg bot.Session, i *interaction.ApplicationCommand) { resp := interaction.NewMessageResponse().IsEphemeral() defer func() { - err := dg.InteractionAPI().Respond(i.Interaction, resp.Response()).Do(ctx) + err := interaction.Respond(i.Interaction, resp.Response()).Do(ctx) if err != nil { bot.Logger(ctx).Error("replying to interaction", "error", err) } diff --git a/commands/stats.go b/commands/stats.go index 971d36a..2cc0b3e 100644 --- a/commands/stats.go +++ b/commands/stats.go @@ -19,6 +19,7 @@ import ( "github.com/jackc/pgx/v5/pgtype" "github.com/nyttikord/gokord/bot" "github.com/nyttikord/gokord/discord/request" + "github.com/nyttikord/gokord/guild" "github.com/nyttikord/gokord/interaction" "gonum.org/v1/plot" "gonum.org/v1/plot/plotter" @@ -56,14 +57,14 @@ func Stats(ctx context.Context, dg bot.Session, i *interaction.ApplicationComman days = 90 } - err := dg.InteractionAPI().Respond(i.Interaction, interaction.NewDeferredResponse()).Do(ctx) + err := interaction.Respond(i.Interaction, interaction.NewDeferredResponse()).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending deferred", "error", err) } resp := interaction.NewMessageResponse() defer func() { - _, err = dg.InteractionAPI().ResponseEdit(i.Interaction, resp.WebhookEdit()).Do(ctx) + _, err = interaction.EditResponse(i.Interaction, resp.WebhookEdit()).Do(ctx) if err != nil { bot.Logger(ctx).Error("replying to interaction", "error", err) } @@ -118,7 +119,7 @@ func statsAll(ctx context.Context, dg bot.Session, i *interaction.ApplicationCom } func statsMember(ctx context.Context, dg bot.Session, i *interaction.ApplicationCommand, days int, discordID string) (io.WriterTo, error) { - _, err := dg.GuildAPI().Member(i.GuildID, discordID).Do(ctx) + _, err := guild.GetMember(i.GuildID, discordID).Do(ctx) if err != nil { return nil, err } @@ -236,7 +237,7 @@ func generatePlot(ctx context.Context, dg bot.Session, i *interaction.Applicatio cnt := 0 for in, c := range copaings { - m, err := dg.GuildAPI().Member(i.GuildID, c.DiscordID).Do(ctx) + m, err := guild.GetMember(i.GuildID, c.DiscordID).Do(ctx) if err != nil { bot.Logger(ctx).Error("fetching guild member", "error", err) return nil, err diff --git a/commands/top.go b/commands/top.go index 7b57d8f..aa0c288 100644 --- a/commands/top.go +++ b/commands/top.go @@ -50,7 +50,7 @@ func Top(ctx context.Context, dg bot.Session, i *interaction.ApplicationCommand) resp.AddEmbed(embeds[1]). AddEmbed(embeds[2]) } - err := dg.InteractionAPI().Respond(i.Interaction, resp.Response()).Do(ctx) + err := interaction.Respond(i.Interaction, resp.Response()).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending response top", "error", err) } diff --git a/config/guild.go b/config/guild.go index 6cdc06b..98ef0cb 100644 --- a/config/guild.go +++ b/config/guild.go @@ -6,6 +6,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/common" "github.com/nyttikord/gokord/bot" + "github.com/nyttikord/gokord/channel" ) type Guild struct { @@ -59,7 +60,7 @@ func (cfg *Guild) IsDisabled(ctx context.Context, dg bot.Session, channelID stri c, err := dg.ChannelAPI().State.Channel(channelID) if err != nil { bot.Logger(ctx).Error("unable to find channel %s in state", "error", err, "channel", c) - c, err = dg.ChannelAPI().Channel(channelID).Do(ctx) + c, err = channel.Get(channelID).Do(ctx) if err != nil { bot.Logger(ctx).Error("unable to fetch channel", "error", err, "channel", c) return false diff --git a/config/xp_reduce.go b/config/xp_reduce.go index aa2c540..36e64ed 100644 --- a/config/xp_reduce.go +++ b/config/xp_reduce.go @@ -35,7 +35,7 @@ func HandleModifyPeriodicReduceCommand(ctx context.Context, dg bot.Session, i *i }, }). Response() - err := dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err := interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending xp reduce modal", "error", err) } @@ -49,7 +49,7 @@ func HandleTimeReduceSet(ctx context.Context, dg bot.Session, i *interaction.Mod IsEphemeral(). Message(fmt.Sprintf("La valeur indiquée, `%s`, c'est pas un entier.", v)). Response() - err = dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err = interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending bad input message", "error", err) } @@ -60,7 +60,7 @@ func HandleTimeReduceSet(ctx context.Context, dg bot.Session, i *interaction.Mod IsEphemeral(). Message("Le nombre de jours doit être suppérieur à 30."). Response() - err = dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err = interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending less than 30 days message", "error", err) } diff --git a/config/xp_role.go b/config/xp_role.go index edf5f61..e00d3f7 100644 --- a/config/xp_role.go +++ b/config/xp_role.go @@ -89,7 +89,7 @@ func HandleXpRole(ctx context.Context, dg bot.Session, i *interaction.Interactio Flags: channel.MessageFlagsIsComponentsV2, }, } - err := dg.InteractionAPI().Respond(i, response).Do(ctx) + err := interaction.Respond(i, response).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending config", "error", err) } @@ -121,7 +121,7 @@ func HandleXpRoleNew(ctx context.Context, dg bot.Session, i *interaction.Message }, }). Response() - err := dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err := interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending modal to add", "error", err) } @@ -181,7 +181,7 @@ func HandleXpRoleEdit(ctx context.Context, dg bot.Session, i *interaction.Intera }, } - err := dg.InteractionAPI().Respond(i, response).Do(ctx) + err := interaction.Respond(i, response).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending xp_role config", "error", err) } @@ -193,7 +193,7 @@ func HandleXpRoleEditRole(ctx context.Context, dg bot.Session, i *interaction.Me cfg := GetGuildConfig(ctx, i.GuildID) _, xpRole := cfg.FindXpRoleID(id) if xpRole == nil { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseChannelMessageWithSource, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral, @@ -218,7 +218,7 @@ func HandleXpRoleEditLevelStart(ctx context.Context, dg bot.Session, i *interact cfg := GetGuildConfig(ctx, i.GuildID) _, xpRole := cfg.FindXpRoleID(id) if xpRole == nil { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseChannelMessageWithSource, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral, @@ -251,7 +251,7 @@ func HandleXpRoleEditLevelStart(ctx context.Context, dg bot.Session, i *interact }, }, } - err := dg.InteractionAPI().Respond(i.Interaction, response).Do(ctx) + err := interaction.Respond(i.Interaction, response).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending edit level modal", "error", err) } @@ -267,7 +267,7 @@ func HandleXpRoleEditLevel(ctx context.Context, dg bot.Session, i *interaction.M IsEphemeral(). Message(fmt.Sprintf("Le niveau doit être un nombre entier positif.\n-# Trouvé : %s", levelInput.Value)). Response() - err = dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err = interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending bad number warning message", "error", err) } @@ -278,7 +278,7 @@ func HandleXpRoleEditLevel(ctx context.Context, dg bot.Session, i *interaction.M cfg := GetGuildConfig(ctx, i.GuildID) _, xpRole := cfg.FindXpRoleID(id) if xpRole == nil { - err = dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err = interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseChannelMessageWithSource, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral, @@ -303,7 +303,7 @@ func HandleXpRoleDel(ctx context.Context, dg bot.Session, i *interaction.Message cfg := GetGuildConfig(ctx, i.GuildID) _, role := cfg.FindXpRoleID(id) if role == nil { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseChannelMessageWithSource, Data: &interaction.ResponseData{ Content: "Rôle introuvable. Peut-être a-t-il déjà été supprimé ?", @@ -332,7 +332,7 @@ func HandleXpRoleAdd(ctx context.Context, dg bot.Session, i *interaction.ModalSu IsEphemeral(). Message(fmt.Sprintf("Le niveau doit être un nombre entier positif.\n-# Trouvé : %s", levelInput.Value)). Response() - err = dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err = interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending bad number warning message", "error", err) } @@ -10,6 +10,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "git.anhgelus.world/anhgelus/les-copaings-bot/user" "github.com/nyttikord/gokord/bot" + "github.com/nyttikord/gokord/channel" "github.com/nyttikord/gokord/event" ) @@ -38,7 +39,7 @@ func OnMessage(ctx context.Context, dg bot.Session, m *event.MessageCreate) { m.Member.GuildID = m.GuildID xp := min(exp.MessageXP(uint(len(trimmed)), exp.CalcDiversity(trimmed)), MaxXpPerMessage) cc.AddXP(ctx, dg, m.Member, xp, func(_ uint, _ uint) { - if err := dg.ChannelAPI().MessageReactionAdd(m.ChannelID, m.Message.ID, "⬆").Do(ctx); err != nil { + if err := channel.AddReaction(m.ChannelID, m.Message.ID, "⬆").Do(ctx); err != nil { bot.Logger(ctx).Error( "add reaction for new level", "error", err, "channel", m.ChannelID, "message", m.Message.ID, @@ -102,7 +103,7 @@ func onDisconnect(ctx context.Context, dg bot.Session, e *event.VoiceStateUpdate if len(cfg.FallbackChannel) == 0 { return } - _, err := dg.ChannelAPI().MessageSend(cfg.FallbackChannel, fmt.Sprintf( + _, err := channel.SendMessage(cfg.FallbackChannel, fmt.Sprintf( "%s est maintenant niveau %d", e.Member.Mention(), newLevel, )).Do(ctx) if err != nil { @@ -250,16 +250,16 @@ func setupTimers(ctx context.Context, dg *gokord.Session) { var statuses = []func(context.Context, bot.Session) error{ func(ctx context.Context, dg bot.Session) error { - return dg.BotAPI().UpdateGameStatus(ctx, 0, "être dev par @anhgelus") + return dg.GatewayAPI().UpdateGameStatus(ctx, false, "être dev par @anhgelus") }, func(ctx context.Context, dg bot.Session) error { - return dg.BotAPI().UpdateWatchStatus(ctx, 0, "Les Copaings") + return dg.GatewayAPI().UpdateWatchStatus(ctx, false, "Les Copaings") }, func(ctx context.Context, dg bot.Session) error { - return dg.BotAPI().UpdateListeningStatus(ctx, "http 418, I'm a tea pot") + return dg.GatewayAPI().UpdateListeningStatus(ctx, "http 418, I'm a tea pot") }, func(ctx context.Context, dg bot.Session) error { - return dg.BotAPI().UpdateGameStatus(ctx, 0, "Les Copaings Bot v"+Version) + return dg.GatewayAPI().UpdateGameStatus(ctx, false, "Les Copaings Bot v"+Version) }, } diff --git a/rolereact/events.go b/rolereact/events.go index 190c0d8..537b6dd 100644 --- a/rolereact/events.go +++ b/rolereact/events.go @@ -7,6 +7,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/config" "github.com/nyttikord/gokord/bot" "github.com/nyttikord/gokord/event" + "github.com/nyttikord/gokord/guild" ) type RoleReact struct { @@ -20,7 +21,7 @@ func HandleReactionAdd(ctx context.Context, dg bot.Session, e *event.MessageReac Where("role_react_messages.message_id = ? AND role_reacts.reaction = ?", e.MessageID, e.MessageReaction.Emoji.APIName()). Scan(&results) for _, role := range results { - err := dg.GuildAPI().MemberRoleAdd(e.GuildID, e.UserID, role.RoleID).Do(ctx) + err := guild.AddMemberRole(e.GuildID, e.UserID, role.RoleID).Do(ctx) if err != nil { bot.Logger(ctx).Error("Unable to add role after member added reaction", "error", err) } @@ -34,7 +35,7 @@ func HandleReactionRemove(ctx context.Context, dg bot.Session, e *event.MessageR Where("role_react_messages.message_id = ? AND role_reacts.reaction = ?", e.MessageID, e.MessageReaction.Emoji.APIName()). Scan(&results) for _, role := range results { - err := dg.GuildAPI().MemberRoleRemove(e.GuildID, e.UserID, role.RoleID).Do(ctx) + err := guild.RemoveMemberRole(e.GuildID, e.UserID, role.RoleID).Do(ctx) if err != nil { bot.Logger(ctx).Error("Unable to remove role after member removed reaction", "error", err) } diff --git a/rolereact/manager.go b/rolereact/manager.go index 1deee14..84081e5 100644 --- a/rolereact/manager.go +++ b/rolereact/manager.go @@ -34,7 +34,7 @@ func MessageContent(message *config.RoleReactMessage) string { func ApplyMessageChange(ctx context.Context, dg bot.Session, i *interaction.Interaction, message *config.RoleReactMessage) string { messageContent := MessageContent(message) - _, err := dg.ChannelAPI().MessageEditComplex(&channel.MessageEdit{ + _, err := channel.EditMessageComplex(&channel.MessageEdit{ Content: &messageContent, AllowedMentions: &channel.MessageAllowedMentions{}, Channel: message.ChannelID, @@ -46,7 +46,7 @@ func ApplyMessageChange(ctx context.Context, dg bot.Session, i *interaction.Inte } for _, role := range message.Roles { if role.Reaction != "" && role.RoleID != "" && err == nil { - err = dg.ChannelAPI().MessageReactionAdd(message.ChannelID, message.MessageID, role.Reaction).Do(ctx) + err = channel.AddReaction(message.ChannelID, message.MessageID, role.Reaction).Do(ctx) } } if err != nil { diff --git a/rolereact/rolereact.go b/rolereact/rolereact.go index aef5fd3..dce4e81 100644 --- a/rolereact/rolereact.go +++ b/rolereact/rolereact.go @@ -42,7 +42,7 @@ var ( ) func HandleCommand(ctx context.Context, dg bot.Session, i *interaction.ApplicationCommand) { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseDeferredChannelMessageWithSource, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral, @@ -66,13 +66,13 @@ func HandleCommand(ctx context.Context, dg bot.Session, i *interaction.Applicati GuildID: i.GuildID, } messageContent := MessageContent(&message) - m, err := dg.ChannelAPI().MessageSendComplex(channelID, &channel.MessageSend{ + m, err := channel.SendMessageComplex(channelID, &channel.MessageSend{ Content: messageContent, AllowedMentions: &channel.MessageAllowedMentions{}, }).Do(ctx) if err != nil { bot.Logger(ctx).Error("sending message", "error", err) - _, err := dg.InteractionAPI().FollowupMessageCreate(i.Interaction, false, &channel.WebhookParams{ + _, err := interaction.CreateFollowupMessage(i.Interaction, false, &channel.WebhookParams{ Flags: channel.MessageFlagsIsComponentsV2, Components: []component.Message{&component.TextDisplay{Content: "Impossible d'envoyer le message"}}, }).Do(ctx) @@ -87,7 +87,7 @@ func HandleCommand(ctx context.Context, dg bot.Session, i *interaction.Applicati err = cfg.Save(ctx) if err != nil { bot.Logger(ctx).Error("unable to save rolereact message in database", "error", err) - _, err := dg.InteractionAPI().FollowupMessageCreate(i.Interaction, false, &channel.WebhookParams{ + _, err := interaction.CreateFollowupMessage(i.Interaction, false, &channel.WebhookParams{ Flags: channel.MessageFlagsIsComponentsV2, Components: []component.Message{ &component.TextDisplay{Content: "Impossible d'enregistrer le message dans la base de données. Merci de contacter l'administrateur du bot."}, @@ -107,7 +107,7 @@ func HandleCommand(ctx context.Context, dg bot.Session, i *interaction.Applicati // Using this function here is deprecated as per discord documentation. // That said, using the recommended EditResponse endpoint does not allow the use of // version 2 components... - _, err = dg.InteractionAPI().FollowupMessageCreate(i.Interaction, false, &channel.WebhookParams{ + _, err = interaction.CreateFollowupMessage(i.Interaction, false, &channel.WebhookParams{ Flags: channel.MessageFlagsIsComponentsV2, Components: components, }).Do(ctx) @@ -135,7 +135,7 @@ func HandleModifyCommand(ctx context.Context, dg bot.Session, i *interaction.App } } if target == nil { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseChannelMessageWithSource, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral, @@ -151,7 +151,7 @@ func HandleModifyCommand(ctx context.Context, dg bot.Session, i *interaction.App targetEditID = messageCounter messageCounter++ } - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseChannelMessageWithSource, Data: MessageModifyData(ctx, i.Interaction, &EditID{MessageEditID: targetEditID}), }).Do(ctx) @@ -161,7 +161,7 @@ func HandleModifyCommand(ctx context.Context, dg bot.Session, i *interaction.App } func HandleModifyComponent(ctx context.Context, dg bot.Session, i *interaction.MessageComponent, params *EditID) { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: MessageModifyData(ctx, i.Interaction, params), }).Do(ctx) @@ -189,7 +189,7 @@ func HandleResetMessage(ctx context.Context, dg bot.Session, i *interaction.Mess } responseData = *MessageModifyData(ctx, i.Interaction, params) } - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &responseData, }).Do(ctx) @@ -201,7 +201,7 @@ func HandleResetMessage(ctx context.Context, dg bot.Session, i *interaction.Mess func HandleStartSetNote(ctx context.Context, dg bot.Session, i *interaction.MessageComponent, params *EditID) { message, ok := GetMessageFromEditID(ctx, i.Interaction, params.MessageEditID) if !ok { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral | channel.MessageFlagsIsComponentsV2, @@ -229,7 +229,7 @@ func HandleStartSetNote(ctx context.Context, dg bot.Session, i *interaction.Mess }, }). Response() - err := dg.InteractionAPI().Respond(i.Interaction, resp).Do(ctx) + err := interaction.Respond(i.Interaction, resp).Do(ctx) if err != nil { bot.Logger(ctx).Error("unable to send edit note modal", "error", err) } @@ -238,7 +238,7 @@ func HandleStartSetNote(ctx context.Context, dg bot.Session, i *interaction.Mess func HandleSetNote(ctx context.Context, dg bot.Session, i *interaction.ModalSubmit, params *EditID) { message, ok := GetMessageFromEditID(ctx, i.Interaction, params.MessageEditID) if !ok { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral | channel.MessageFlagsIsComponentsV2, @@ -253,7 +253,7 @@ func HandleSetNote(ctx context.Context, dg bot.Session, i *interaction.ModalSubm return } message.Note = i.Data.Components[0].(*component.Label).Component.(*component.TextInput).Value - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: MessageModifyData(ctx, i.Interaction, params), }).Do(ctx) @@ -272,7 +272,7 @@ func HandleApplyMessage(ctx context.Context, dg bot.Session, i *interaction.Mess &component.TextDisplay{Content: "Impossible de trouver la modification de message. Veuillez réessayer."}, }, } - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &responseData, }).Do(ctx) @@ -281,7 +281,7 @@ func HandleApplyMessage(ctx context.Context, dg bot.Session, i *interaction.Mess } return } - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseDeferredChannelMessageWithSource, Data: &interaction.ResponseData{Flags: channel.MessageFlagsEphemeral}, }).Do(ctx) @@ -290,7 +290,7 @@ func HandleApplyMessage(ctx context.Context, dg bot.Session, i *interaction.Mess return } m := ApplyMessageChange(ctx, dg, i.Interaction, message) - _, err = dg.InteractionAPI().ResponseEdit(i.Interaction, &channel.WebhookEdit{ + _, err = interaction.EditResponse(i.Interaction, &channel.WebhookEdit{ Content: &m, }).Do(ctx) if err != nil { @@ -313,7 +313,7 @@ func HandleNewRole(ctx context.Context, dg bot.Session, i *interaction.MessageCo responseData = MessageModifyRoleData(ctx, i.Interaction, &EditIDWithRole{MessageEditID: params.MessageEditID, RoleCounterID: roleCounter}, "") roleCounter++ } - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &responseData, }).Do(ctx) @@ -335,7 +335,7 @@ func HandleOpenRole(ctx context.Context, dg bot.Session, i *interaction.MessageC } else { responseData = MessageModifyRoleData(ctx, i.Interaction, params, "") } - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &responseData, }).Do(ctx) @@ -365,7 +365,7 @@ func HandleSetRole(ctx context.Context, dg bot.Session, i *interaction.MessageCo role.RoleID = i.Data.Values[0] responseData = MessageModifyRoleData(ctx, i.Interaction, params, "") } - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &responseData, }).Do(ctx) @@ -384,7 +384,7 @@ func HandleSetReaction(ctx context.Context, dg bot.Session, i *interaction.Messa } } if !ok || role == nil { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral | channel.MessageFlagsIsComponentsV2, @@ -400,14 +400,14 @@ func HandleSetReaction(ctx context.Context, dg bot.Session, i *interaction.Messa } responseData := MessageModifyRoleData(ctx, i.Interaction, params, "Ajoute la réaction que tu veux choisir au message de rôle de réaction (tu peux y accéder avec le bouton ci-dessous)") //TODO: handle errors here - dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &responseData, }).Do(ctx) emojiName, ok := WaitForEmoji(ctx, dg, i.Member.User.ID, message.MessageID) if !ok { editResponseComponents := MessageModifyRoleComponents(ctx, i.Interaction, params, "Le temps d'attente a été dépassé") - _, err := dg.InteractionAPI().ResponseEdit(i.Interaction, &channel.WebhookEdit{ + _, err := interaction.EditResponse(i.Interaction, &channel.WebhookEdit{ Components: &editResponseComponents, }).Do(ctx) if err != nil { @@ -416,10 +416,10 @@ func HandleSetReaction(ctx context.Context, dg bot.Session, i *interaction.Messa return } - err := dg.ChannelAPI().MessageReactionAdd(message.ChannelID, message.MessageID, emojiName).Do(ctx) + err := channel.AddReaction(message.ChannelID, message.MessageID, emojiName).Do(ctx) if err != nil { editResponseComponents := MessageModifyRoleComponents(ctx, i.Interaction, params, "La réaction n'est pas utilisable. Cela peut être résolu en l'ajoutant à ce serveur") - _, err := dg.InteractionAPI().ResponseEdit(i.Interaction, &channel.WebhookEdit{ + _, err := interaction.EditResponse(i.Interaction, &channel.WebhookEdit{ Components: &editResponseComponents, }).Do(ctx) if err != nil { @@ -427,13 +427,13 @@ func HandleSetReaction(ctx context.Context, dg bot.Session, i *interaction.Messa } return } - err = dg.ChannelAPI().MessageReactionRemove(message.ChannelID, message.MessageID, emojiName, i.Member.User.ID).Do(ctx) + err = channel.DeleteReaction(message.ChannelID, message.MessageID, emojiName, i.Member.User.ID).Do(ctx) if err != nil { bot.Logger(ctx).Warn("unable to remove author reaction from message", "error", err) } role.Reaction = emojiName components := MessageModifyRoleComponents(ctx, i.Interaction, params, "") - _, err = dg.InteractionAPI().ResponseEdit(i.Interaction, &channel.WebhookEdit{ + _, err = interaction.EditResponse(i.Interaction, &channel.WebhookEdit{ Flags: channel.MessageFlagsIsComponentsV2 | channel.MessageFlagsEphemeral, Components: &components, }).Do(ctx) @@ -449,7 +449,7 @@ func HandleDelRole(ctx context.Context, dg bot.Session, i *interaction.MessageCo roleIndex = slices.IndexFunc(message.Roles, func(role *config.RoleReact) bool { return role.CounterID == params.RoleCounterID }) } if !ok || roleIndex == -1 { - err := dg.InteractionAPI().Respond(i.Interaction, &interaction.Response{ + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: &interaction.ResponseData{ Flags: channel.MessageFlagsEphemeral | channel.MessageFlagsIsComponentsV2, @@ -466,7 +466,7 @@ func HandleDelRole(ctx context.Context, dg bot.Session, i *interaction.MessageCo message.Roles = append(message.Roles[:roleIndex], message.Roles[roleIndex+1:]..., ) - err := dg.InteractionAPI().Respond(i.Interaction, + err := interaction.Respond(i.Interaction, &interaction.Response{ Type: types.InteractionResponseUpdateMessage, Data: MessageModifyData(ctx, i.Interaction, &EditID{MessageEditID: params.MessageEditID}), diff --git a/user/level.go b/user/level.go index 2a5d494..609130f 100644 --- a/user/level.go +++ b/user/level.go @@ -10,6 +10,7 @@ import ( "git.anhgelus.world/anhgelus/les-copaings-bot/config" "git.anhgelus.world/anhgelus/les-copaings-bot/exp" "github.com/nyttikord/gokord/bot" + "github.com/nyttikord/gokord/guild" "github.com/nyttikord/gokord/user" ) @@ -19,7 +20,7 @@ func onNewLevel(ctx context.Context, dg bot.Session, m *user.Member, level uint) for _, role := range cfg.XpRoles { if role.XP <= xpForLevel && !slices.Contains(m.Roles, role.RoleID) { bot.Logger(ctx).Debug("add role", "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID) - err := dg.GuildAPI().MemberRoleAdd(m.GuildID, m.User.ID, role.RoleID).Do(ctx) + err := guild.AddMemberRole(m.GuildID, m.User.ID, role.RoleID).Do(ctx) if err != nil { bot.Logger(ctx).Error( "adding role", @@ -28,7 +29,7 @@ func onNewLevel(ctx context.Context, dg bot.Session, m *user.Member, level uint) } } else if role.XP > xpForLevel && slices.Contains(m.Roles, role.RoleID) { bot.Logger(ctx).Debug("remove role", "role", role.RoleID, "user", m.DisplayName(), "guild", m.GuildID) - err := dg.GuildAPI().MemberRoleRemove(m.GuildID, m.User.ID, role.RoleID).Do(ctx) + err := guild.RemoveMemberRole(m.GuildID, m.User.ID, role.RoleID).Do(ctx) if err != nil { bot.Logger(ctx).Error( "removing role", @@ -40,7 +41,7 @@ func onNewLevel(ctx context.Context, dg bot.Session, m *user.Member, level uint) } func (c *CopaingCached) onNewLevel(ctx context.Context, dg bot.Session, level uint) { - m, err := dg.GuildAPI().Member(c.GuildID, c.DiscordID).Do(ctx) + m, err := guild.GetMember(c.GuildID, c.DiscordID).Do(ctx) if err != nil { bot.Logger(ctx).Error("getting member for new level", "error", err, "user", c.DiscordID, "guild", c.GuildID) return |
