#javascript #node.js #discord.js
#javascript #node.js #discord.js
Вопрос:
Я пытаюсь закодировать бесплатную команду, но эта проблема появляется у меня на лице
(узел: 2052) Необработанное promiserejectionwarning: ошибка типа: аргументы[1].endswith не является функцией (узел: 2052) Необработанное promiserejectionwarning: отклонение необработанного обещания. Эта ошибка возникла либо из-за запуска внутри асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch() . Чтобы завершить процесс узла при отклонении необработанного обещания, используйте флаг CLI
--unhandled-rejections=strict
(см. https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode ). (идентификатор отклонения: 1) (узел: 2052) [DEP0018] Предупреждение об устаревании: Необработанные отклонения обещаний не рекомендуются. В будущем отклонения обещаний, которые не обрабатываются, завершат Node.js процесс с ненулевым кодом выхода.
client.on('message', async message => {
let args = message.content.substring(prefix.length).split(" ")
if(message.content.startsWith(`${prefix}giveaway`)) {
let time = args[1]
if(!time) return message.channel.send('**You did not specify your time!**');
if(
!args[1].endsWith('d') amp;amp;
!args[1].endsWith('h') amp;amp;
!args[1].endsWith('m') amp;amp;
!args[1].endsWith('s')
)
return message.channel.send('**You need to use d (days), h (hours), m (minutes), s (seconds)**')
let gchannel = message.mentions.channels.first();
if(!gchannel) return message.channel.send('**I can not find this channel!**')
let prize = args.slice(3).join(" ")
if(!prize) return message.channel.send('**What is the prize?**')
message.delete();
gchannel.send(":tada: **NEW GIVEAWAY** :tada:")
let gembed = new Discord.MessageEmbed()
.setColor("RANDOM")
.setTitle('New GIVEAWAY!')
.setDescription(`react with :tada: to enter the giveaway! nHosted by **${message.author}**nTime: **${time}**`)
.setTimestamp(Date.now ms(args[1]))
.setFooter('Will end at:')
let m = await gchannel.send(gembed)
m.react("🎉")
setTimeout(() => {
if(m.reactions.cache.get("🎉").count <= 1) {
return message.channel.send('**No enough people reacted for mr to draw a winner!**')
}
let winner = m.reactions.cache.get("🎉").users.cache.filter((u) => !u.bot).random();
gchannel.send(`CONGRATULATIONS ${winner}! you just won the **${prize}!**`
);
}, ms(args[1]));
}
})
любая помощь, пожалуйста.
Ответ №1:
Это endsWith
не endswith. JavaScript чувствителен к регистру.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith