Skip to content

Commit 15f2ce5

Browse files
fix(interactivity): Fix pagination components being re-wrapped in action rows (#1978)
* fix(interactivity): Fix pagination components being re-wrapped in action rows * refactor(interactivity): Update variable names
1 parent 813e830 commit 15f2ce5

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

DSharpPlus.Interactivity/InteractivityExtension.cs

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -783,9 +783,9 @@ public async Task SendPaginatedMessageAsync(
783783
.AddEmbed(pageArray[0].Embed)
784784
.AddComponents(bts.ButtonArray);
785785

786-
foreach (DiscordActionRowComponent acr in pageArray[0].Components)
786+
if (pageArray[0].Components is [..] pac)
787787
{
788-
builder.AddComponents(acr);
788+
builder.AddComponents(pac);
789789
}
790790

791791
DiscordMessage message = await builder.SendAsync(channel);
@@ -947,23 +947,36 @@ public async Task SendPaginatedResponseAsync(DiscordInteraction interaction, boo
947947

948948
buttonArray = [.. buttonList];
949949
}
950+
951+
Page[] pageArray = pages.ToArray();
952+
950953
if (asEditResponse)
951954
{
952955
DiscordWebhookBuilder builder = new DiscordWebhookBuilder()
953-
.WithContent(pages.First().Content)
954-
.AddEmbed(pages.First().Embed)
956+
.WithContent(pageArray[0].Content)
957+
.AddEmbed(pageArray[0].Embed)
955958
.AddComponents(buttonArray);
956959

960+
if (pageArray[0].Components is [..] pageArrayComponents)
961+
{
962+
builder.AddComponents(pageArrayComponents);
963+
}
964+
957965
message = await interaction.EditOriginalResponseAsync(builder);
958966
}
959967
else
960968
{
961969
DiscordInteractionResponseBuilder builder = new DiscordInteractionResponseBuilder()
962-
.WithContent(pages.First().Content)
963-
.AddEmbed(pages.First().Embed)
970+
.WithContent(pageArray[0].Content)
971+
.AddEmbed(pageArray[0].Embed)
964972
.AsEphemeral(ephemeral)
965973
.AddComponents(buttonArray);
966974

975+
if (pageArray[0].Components is [..] pageArrayComponents)
976+
{
977+
builder.AddComponents(pageArrayComponents);
978+
}
979+
967980
await interaction.CreateResponseAsync(DiscordInteractionResponseType.ChannelMessageWithSource, builder);
968981
message = await interaction.GetOriginalResponseAsync();
969982
}

0 commit comments

Comments
 (0)