java discord4j 3x版本 discord bot 消息内添加按钮 最新教程
- 在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>
- 实现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();
}
}
}
- 运行程序,向Discord频道发送“!button”命令,即可看到消息中出现了一个按钮。
注意:Discord4J 3.x版本的按钮使用了新的ButtonActionRow和Button类,与之前版本不兼容。同时,Discord官方API要求按钮必须与消息一起发送,因此需要使用ButtonActionRow类将按钮与消息一起发送。
原文地址: https://www.cveoy.top/t/topic/bFQc 著作权归作者所有。请勿转载和采集!