要在 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 来处理按钮点击事件。

Java Discord4J 3.x 版本:在消息中添加按钮

原文地址: https://www.cveoy.top/t/topic/jqFN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录