Я недавно пробовал себя на диссон-ботах, и теперь я столкнулся с проблемой, пытаясь редактировать вставку. Я делаю команду опроса, которая заканчивается через определенное время, таймер работает отлично, однако редактирование - нет. Вывод ошибки «Неизвестное сообщение», однако сообщение должно быть определено?
Код:
client.on('message', message =>{
let allArgs = message.content.split(" ");
// Splits commands into arguments
let args = message.content.substring(config.prefix.length).split(" ");
allArgs = allArgs.map(function(x){ return x.toLowerCase() });
// All commands
switch(args[0]){
case 'help':
message.channel.send(helpEmbed)
break;
case 'poll':
if(args.length < 8) {
message.channel.send(pollUsage);
message.delete();
}
else {
pollMsg = message.content.slice(6,message.length);
var pollArgs = pollMsg.split("/"); // Splits arguments by "/"
if(pollArgs.length > 11) {
message.channel.send(pollUsage);
message.delete();
}
else {
var timeArgs = pollArgs[1].split(":");
console.log(timeArgs);
if(timeArgs.length > 4) {
message.channel.send(pollUsage);
message.delete();
}
else {
var pollEmbed = new Discord.MessageEmbed()
.setColor(pink)
.setTitle('POLL')
.setAuthor('IdealBot', 'https://hypixel.net/attachments/ideal-png.1417277/', 'https://hypixel.net/threads/ideal-ideal-%E2%9D%96-level-52-%E2%9D%96-sweaty-skyblock-guild-%E2%9D%96-top-10-sb-guild-%E2%9D%96-splashes-%E2%9D%96-events-%E2%9D%96-recruiting.2500755/')
.addFields(
{ name: 'Question', value: pollArgs[0] },
{ name: '\u200B', value: '\u200B' },
)
.setTimestamp()
.setFooter('Time left: ' + pollArgs[1]);
for(i=2;i<pollArgs.length;i++) {
pollEmbed.addFields({ name: 'Option '+pollReact[i-2], value: pollArgs[i], inline: true });
}
pollEmbed.addFields({ name: '\u200B', value: '\u200B' });
var days = parseInt(timeArgs[0]);
var hours = parseInt(timeArgs[1]);
var minutes = parseInt(timeArgs[2]);
var seconds = parseInt(timeArgs[3]);
var secDays = days*24*60*60;
var secHours = hours*60*60;
var secMinutes = minutes*60;
console.log("Hours in seconds: " + secHours + ", Minutes in seconds: " + secMinutes + ", Additional seconds: " + seconds);
var totalTime = secDays+secHours+secMinutes+seconds;
var totalTimeMilliseconds = totalTime*1000;
console.log(totalTime);
var currentTime = new Date().getTime();
var endDate = currentTime+totalTimeMilliseconds;
const msg = message.channel.send(pollEmbed).then(sentEmbed => {
for(i=2;i<pollArgs.length;i++) {
sentEmbed.react(pollReactEmoji[i-2])
}
}).catch((err) => {
console.error('Error! ' + err)
})
message.delete();
}
var timer = setInterval(function() {
var currentTime = new Date().getTime();
var remainingTime = endDate-currentTime;
if (remainingTime >= 0) {
let daysCalc = Math.floor(remainingTime / (1000 * 60 * 60 * 24));
let hoursCalc = Math.floor((remainingTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutesCalc = Math.floor((remainingTime % (1000 * 60 * 60)) / (1000 * 60));
let secondsCalc = Math.floor((remainingTime % (1000 * 60)) / 1000);
if(daysCalc < 10) { daysCalc = "0"+ daysCalc};
if(hoursCalc < 10) { hoursCalc = "0"+ hoursCalc};
if(minutesCalc < 10) { minutesCalc = "0"+ minutesCalc};
if(secondsCalc < 10) { secondsCalc = "0"+ secondsCalc};
var remainingTimeText = daysCalc + ":" + hoursCalc + ":" + minutesCalc + ":" + secondsCalc;
console.log(remainingTimeText);
var pollEmbedEdit = new Discord.MessageEmbed()
.setFooter('Time left: ' + remainingTimeText);
message.edit(pollEmbedEdit).catch((err) => {
console.error('Error! ' + err);
})
}
else {
}
}, 1000);
}
}
break;
}
Буду очень признателен за помощь в этом.