51 lines
1.9 KiB
Java
51 lines
1.9 KiB
Java
package com.massivecraft.factions.cmd.check;
|
|
|
|
import com.massivecraft.factions.Conf;
|
|
import com.massivecraft.factions.Faction;
|
|
import com.massivecraft.factions.Factions;
|
|
import com.massivecraft.factions.FactionsPlugin;
|
|
import com.massivecraft.factions.discord.FactionChatHandler;
|
|
import com.massivecraft.factions.zcore.util.TL;
|
|
import net.dv8tion.jda.core.JDA;
|
|
import net.dv8tion.jda.core.Permission;
|
|
import net.dv8tion.jda.core.entities.TextChannel;
|
|
|
|
public class WeeWooTask implements Runnable {
|
|
|
|
private FactionsPlugin plugin;
|
|
|
|
public WeeWooTask(FactionsPlugin plugin) {
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
for (Faction faction : Factions.getInstance().getAllFactions()) {
|
|
if (!faction.isWeeWoo()) {
|
|
continue;
|
|
}
|
|
faction.msg(TL.WEE_WOO_MESSAGE);
|
|
|
|
if (!Conf.useDiscordSystem) return;
|
|
|
|
String discordChannelId = faction.getWeeWooChannelId();
|
|
if (discordChannelId == null || discordChannelId.isEmpty()) {
|
|
continue;
|
|
}
|
|
TextChannel textChannel = FactionChatHandler.jda.getTextChannelById(discordChannelId);
|
|
if (textChannel == null) {
|
|
continue;
|
|
}
|
|
if (!textChannel.getGuild().getSelfMember().hasPermission(textChannel, Permission.MESSAGE_READ, Permission.MESSAGE_WRITE)) {
|
|
textChannel.getGuild().getOwner().getUser().openPrivateChannel().queue(privateChannel -> privateChannel.sendMessage((":x: Missing read/write in " + textChannel.getAsMention())).queue());
|
|
} else {
|
|
String format = faction.getWeeWooFormat();
|
|
if (format == null || format.isEmpty()) {
|
|
format = "@everyone, we're being raided! Get online!";
|
|
}
|
|
textChannel.sendMessage(format).queue();
|
|
}
|
|
}
|
|
}
|
|
}
|