我刚开始用IntelliJ IDEA在Java中编写一些简单的Discord Bot功能。现在我遇到一个问题,必须使用语言级别8来实现某个特定函数,但是当我这样做时,会出现错误,并且以前可用的所有内容现在都无法工作。
代码:
package main;
import net.dv8tion.jda.core.AccountType;
import net.dv8tion.jda.core.JDABuilder;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.events.guild.voice.GuildVoiceJoinEvent;
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
import net.dv8tion.jda.core.entities.Role;
import net.dv8tion.jda.core.entities.User;
import java.util.List;
import javax.security.auth.login.LoginException;
public class Main extends ListenerAdapter {
public static void main(String[] args) throws LoginException {
JDABuilder builder = new JDABuilder(AccountType.BOT);
String token = "Token of bot which i dont want to show here";
builder.setToken(token);
builder.addEventListener(new main.Main());
builder.buildAsync();
}
@Override
public void onMessageReceived(MessageReceivedEvent event) {
System.out.println("We received a message from " +
event.getAuthor().getName()+": "+ event.getMessage().getContentDisplay());
if(event.getMessage().getContentRaw().equals("!ping"))
{
event.getChannel().sendMessage("Pong!").queue();
}
}
@Override
public void onGuildVoiceJoin(GuildVoiceJoinEvent event) {
Role role = event.getGuild().getRoleById("575318189467107328");
List<Member> list = event.getGuild().getMembersWithRoles(role);
for (int i = 0; i < list.size(); i++) {
User supporter = list.get(i).getUser();
supporter.openPrivateChannel().queue((channel)->{channel.sendMessage("Jemand braucht Hilfe").queue();});
}
}
}
这是我到目前为止尝试的内容。我的问题出现在这一行,即“supporter.openPrivate .....”。
我本来以为当我将项目和模块语言级别更改为8时,它就能正常工作,但是它给了我这个错误:
错误:java:错误:不支持发行版本5
如果我不更改语言级别,它会显示:
Lambda表达式在语言级别“5”上不受支持