🚑 Fix crash if message not found in cmd 'ChannelsReview'
This commit is contained in:
parent
ec17bd81e9
commit
ec248ea22e
@ -2,19 +2,35 @@ package net.Broken.Commands;
|
|||||||
|
|
||||||
import net.Broken.Commande;
|
import net.Broken.Commande;
|
||||||
import net.Broken.Tools.EmbedMessageUtils;
|
import net.Broken.Tools.EmbedMessageUtils;
|
||||||
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
|
import net.dv8tion.jda.api.entities.MessageHistory;
|
||||||
import net.dv8tion.jda.api.entities.TextChannel;
|
import net.dv8tion.jda.api.entities.TextChannel;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
public class ChannelsReview implements Commande {
|
public class ChannelsReview implements Commande {
|
||||||
|
Logger logger = LogManager.getLogger();
|
||||||
@Override
|
@Override
|
||||||
public void action(String[] args, MessageReceivedEvent event) {
|
public void action(String[] args, MessageReceivedEvent event) {
|
||||||
StringBuilder messageToSend= new StringBuilder();
|
StringBuilder messageToSend= new StringBuilder();
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy");
|
||||||
for( TextChannel textChannel: event.getGuild().getTextChannels()){
|
for( TextChannel textChannel: event.getGuild().getTextChannels()){
|
||||||
if(textChannel.hasLatestMessage()){
|
if(textChannel.hasLatestMessage()){
|
||||||
messageToSend.append("\nChannel : ").append(textChannel.getName()).append(" Date :").append((textChannel.retrieveMessageById(textChannel.getLatestMessageId()).complete().getTimeCreated()).toLocalDate().format(formatter));
|
String lastMessageId = textChannel.getLatestMessageId();
|
||||||
|
logger.debug("Last message in chanel " + textChannel.toString() + " is " + lastMessageId );
|
||||||
|
try {
|
||||||
|
Message lastMessage = textChannel.retrieveMessageById(lastMessageId).complete();
|
||||||
|
String date = lastMessage.getTimeCreated().toLocalDate().format(formatter);
|
||||||
|
messageToSend.append("\nChannel : ").append(textChannel.getName()).append(" Date :").append(date);
|
||||||
|
}catch (RuntimeException e){
|
||||||
|
logger.warn("Can't find message with id: " + lastMessageId);
|
||||||
|
messageToSend.append("\nChannel : ERROR");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
messageToSend.append("\nChannel : ").append(textChannel.getName()).append(" was never used.");
|
messageToSend.append("\nChannel : ").append(textChannel.getName()).append(" was never used.");
|
||||||
|
Loading…
Reference in New Issue
Block a user