Java Discord4J 3.x 版本 Discord Bot 消息内添加按钮教程
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 版本的按钮使用了新的
ButtonActionRow和Button类,与之前版本不兼容。 - Discord 官方 API 要求按钮必须与消息一起发送,因此需要使用
ButtonActionRow类将按钮与消息一起发送。
原文地址: https://www.cveoy.top/t/topic/jqGH 著作权归作者所有。请勿转载和采集!