Java Discord4J 3.x 版本:在消息中添加按钮
要在 Java Discord4J 3.x 版本中的消息中添加按钮,可以使用 MessageCreateRequest。以下是一个示例代码片段,其中包含添加一个按钮的示例:
import discord4j.core.GatewayDiscordClient;
import discord4j.core.event.domain.message.MessageCreateEvent;
import discord4j.core.object.entity.Message;
import discord4j.core.object.entity.channel.MessageChannel;
import discord4j.core.spec.MessageCreateSpec;
import discord4j.rest.util.Color;
import discord4j.rest.util.Image;
public class MyBot {
public static void main(String[] args) {
GatewayDiscordClient client = GatewayDiscordClient.create("your-bot-token");
client.getEventDispatcher().on(MessageCreateEvent.class)
.subscribe(event -> {
Message message = event.getMessage();
String content = message.getContent();
if (content.equalsIgnoreCase("!add-button")) {
MessageChannel channel = message.getChannel().block();
MessageCreateSpec spec = new MessageCreateSpec()
.setContent("This message has a button!")
.setEmbed(embedCreateSpec -> {
embedCreateSpec.setTitle("Button Example")
.setDescription("Click the button to do something!")
.setColor(Color.GREEN)
.setImage(Image.of("https://i.imgur.com/7XmzDwS.png"))
.setFooter("Powered by Discord4J", "https://i.imgur.com/6vQ1KzC.png");
})
.addActionRow(row -> row.addComponent(button ->
button.setStyle(ButtonStyle.PRIMARY)
.setLabel("Click me!")
.setCustomId("button1")));
channel.createMessage(spec).block();
}
});
client.onDisconnect().block();
}
}
在上面的代码中,我们使用了 MessageCreateRequest 来创建一个带有一个按钮的消息。我们使用了 addActionRow() 方法来添加一个行,然后使用 addComponent() 方法来添加一个按钮。在按钮中,我们设置了样式、标签和自定义 ID。当用户点击按钮时,您可以使用 InteractionCreateRequest 来处理按钮点击事件。
原文地址: https://www.cveoy.top/t/topic/jqFN 著作权归作者所有。请勿转载和采集!