/** * Used to access Bot specific functions like OAuth information. * * @throws java.lang.IllegalStateException * If there is no running shard * * @return The {@link net.dv8tion.jda.bot.JDABot} registry for this instance of JDA. */ default RestAction<ApplicationInfo> getApplicationInfo() { return this.getShardCache().stream() .findAny() .orElseThrow(() -> new IllegalStateException("no active shards")) .asBot() .getApplicationInfo(); }
@Override public void run(Context context) { context.reply("Shutting down!"); context.getEvent().getJDA().asBot().getShardManager().shutdown(); // shutdown jda new Thread(() -> { try { Thread.sleep(1000); // give time for jda to shutdown } catch (InterruptedException e) { e.printStackTrace(); } System.exit(0); }).start(); } }
@Override public void run(Context context) { MessageReceivedEvent event = context.getEvent(); JDA jda = event.getJDA(); ShardManager manager = jda.asBot().getShardManager(); String message = manager.getShards().stream() .sorted(Comparator.comparingInt(a -> a.getShardInfo().getShardId())) .map(shard -> shard.getShardInfo().getShardId() + ": " + shard.getStatus()) .collect(Collectors.joining("\n")); context.reply("```\n%s```", message); } }
@Override public void onReady(ReadyEvent event) { ready.inc(); for (JDA jda : event.getJDA().asBot().getShardManager().getShards()) { setGuildCount(jda); } }
public boolean allowedSuperSupporterPatronAccess(User user) { Config config = this.bot.getConfigs().config; Guild dabbotGuild = user.getJDA().asBot().getShardManager().getGuildById(config.discordServer); Role superSupporterRole = dabbotGuild.getRoleById(config.superSupporterRole); Member dabbotMember = dabbotGuild.getMember(user); return dabbotMember != null && dabbotMember.getRoles().contains(superSupporterRole); } }
public boolean allowedSupporterPatronAccess(Guild guild) { Config config = this.bot.getConfigs().config; Guild dabbotGuild = guild.getJDA().asBot().getShardManager().getGuildById(config.discordServer); Role supporterRole = dabbotGuild.getRoleById(config.supporterRole); return allowedPatronAccess(guild, supporterRole); }
public boolean allowedSuperSupporterPatronAccess(Guild guild) { Config config = this.bot.getConfigs().config; Guild dabbotGuild = guild.getJDA().asBot().getShardManager().getGuildById(config.discordServer); Role superSupporterRole = dabbotGuild.getRoleById(config.superSupporterRole); return allowedPatronAccess(guild, superSupporterRole); }
void initializeBotOwner() { if (botOwner == 0L) { if (jda.getAccountType() == AccountType.BOT) { botOwner = jda.asBot().getApplicationInfo().complete().getOwner().getIdLong(); } else { botOwner = jda.getSelfUser().getIdLong(); } } }
private boolean allowedPatronAccess(Guild guild, Role role) { Config config = this.bot.getConfigs().config; Guild dabbotGuild = guild.getJDA().asBot().getShardManager().getGuildById(config.discordServer); for (Member member : guild.getMembers()) { if (config.owners.contains(member.getUser().getId())) { return true; } if (!member.isOwner() && !member.hasPermission(Permission.ADMINISTRATOR)) { continue; } Member dabbotMember = dabbotGuild.getMember(member.getUser()); if (dabbotMember == null) { continue; } if (dabbotMember.getRoles().contains(role)) { return true; } } return false; }
@Override public void run(Context context) { MessageReceivedEvent event = context.getEvent(); JDA jda = event.getJDA(); ShardManager manager = jda.asBot().getShardManager(); try { int shardId; if (context.getArgs().length == 0) { shardId = jda.getShardInfo().getShardId(); } else { try { shardId = Integer.parseInt(context.getArgs()[0]); if (manager.getShardById(shardId) == null) { context.reply("Invalid shard %d.", shardId); return; } } catch (NumberFormatException e) { context.reply("Invalid input %s. Must be an integer.", context.getArgs()[0]); return; } } context.reply("Restarting shard %d...", shardId); manager.restart(shardId); } catch (Exception e) { logger.error("error performing shardrestart command", e); } } }
log.warn(event.getJDA().asBot().getInviteUrl(JMusicBot.RECOMMENDED_PERMS));