Java Discord4J 3.x 版本 Discord Bot 消息内添加按钮教程

本教程将详细介绍如何在 Java Discord4J 3.x 版本的 Discord Bot 消息中添加按钮。

1. 添加依赖

首先,需要在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>com.discord4j</groupId>
    <artifactId>discord4j-core</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>com.discord4j</groupId>
    <artifactId>discord4j-commands</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>com.discord4j</groupId>
    <artifactId>discord4j-gateway</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>com.discord4j</groupId>
    <artifactId>discord4j-rest</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>com.discord4j</groupId>
    <artifactId>discord4j-voice</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>com.discord4j</groupId>
    <artifactId>discord4j-webhook</artifactId>
    <version>3.2.0</version>
</dependency>

2. 实现 MessageCreateListener 接口

实现 MessageCreateListener 接口,并在 onMessageCreate 方法中添加按钮:

public class MyBot implements MessageCreateListener {

    @Override
    public void onMessageCreate(MessageCreateEvent event) {
        if (event.getMessage().getContent().equalsIgnoreCase("!button")) {
            ButtonActionRow buttonActionRow = ButtonActionRow.of(Button.primary('button', 'Click me!'));
            event.getMessage().getChannel().flatMap(channel -> channel.createMessage('Hello, world!', buttonActionRow)).subscribe();
        }
    }
}

3. 运行程序

运行程序后,向 Discord 频道发送 !button 命令,即可看到消息中出现了一个按钮。

注意

  • Discord4J 3.x 版本的按钮使用了新的 ButtonActionRowButton 类,与之前版本不兼容。
  • Discord 官方 API 要求按钮必须与消息一起发送,因此需要使用 ButtonActionRow 类将按钮与消息一起发送。
Java Discord4J 3.x 版本 Discord Bot 消息内添加按钮教程

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

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