Я пытаюсь реализовать код, который начнет обратный отсчет. В настоящее время он работает в консоли, но он не работает. Мне удалось заставить его работать в отдельном файле, и я скопировал все правильные биты, но это не сработает. Код находится в строке 59. Если вам это поможет, код будет здесь .
Я попытался выполнить поиск в Google и нашел тот же код, который использую (яя уверен)Поэтому я не уверен, почему это не работает.
Я делаю бота One Night Ultimate Werewolf. One Night Ultimate Werewolf - это скрытая ролевая игра, когда кто-то, если оборотень, должен избегать быть убитым. В конце у вас есть 2 с половиной минуты, чтобы рассказать игрокам о своей роли, и попытаться обмануть их, чтобы убить / не убить вас (в зависимости от вашей роли).
Я пытался сделать это 2и обратный отсчет за полминуты, поэтому я ожидал, что он запустит определенный код, подождет 3 секунды, а затем сделает другой код. Позже я изменил бы этот код на таймер 2:30, так что, если бы вы могли сказать мне, как это сделать, это было бы еще лучше. Но, по крайней мере, я хотел бы знать, почему приведенный ниже код не работает, и как это исправить.
Фрагмент кода:
client.on('message', message => {
if (message.author.bot) return;
if (message.content === prefix + 'countdown') {
console.log('Welcome to My Console,');
setTimeout(function() {
console.log('Blah blah blah blah extra-blah');
}, 3000);
}
})
и полный файлis
//required libraries
const Discord = require('discord.js');
const client = new Discord.Client();
//What to do when the bot starts up.
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
client.user.setActivity("with my ding-a-ling")
});
//prefix
var prefix = ("~")
//Find the latancy and API latency.
client.on('message', message => {
if (message.author.bot) return;
if (message.content === prefix + 'ping') {
message.channel.send(":ping_pong: Pinging...").then((ping) => { ping.edit(`:ping_pong: Pong!\nLatency is ${Math.floor(ping.createdAt - message.createdAt)}\nAPI latency is ${Math.round(client.ping)}ms`); });
}
}
);
client.on('message', message => {
if (message.author.bot) return;
if (message.content === prefix + 'newgame') {
if (message.member.roles.has("641725420957335562")) {
client.channels.get('642070729805791232').send("Sending out message....").then((newgame) => { newgame.edit(`Hey, <@&641727807663374345>! A new game is starting. Do ~ready to apply`) })
}
client.on('message', message => {
if (message.author.bot) return;
if (message.content !== prefix + 'ready') {
return;
}
if (message.content === prefix + 'ready') {
message.channel.send(`<@${message.author.id}> is ready!`)
var roles = Array("Doppelganger", "Werewolf", "Minion", "Mason", "Seer", "Robber", "Troublemaker", "Drunk", "Insomniac", "Villager", "Tanner", "Hunter")
var role = roles[Math.floor(Math.random() * roles.length)];
}
message.author.send("Your role is..." + role + "!")
client.on('message', message => {
if (message.author.bot) return;
if (message.content === prefix + 'accept') {
if (message.channel.type === 'dm') {
client.channels.get('642090245122293771').send(`<@${message.author.id}> has accepted their role!`)
}
}
});
client.on('message', message => {
if (message.author.bot) return;
if (message.content === prefix + 'countdown') {
console.log('Welcome to My Console,');
setTimeout(function() {
console.log('Blah blah blah blah extra-blah');
}, 3000);
}
})
});
}
});
//logs messages into console
client.on("message", async message => {
console.log(`${message.author.username} said: ${message.content}`);
});
//Test command if we need it
client.on('message', message => {
if (message.author.bot) return;
if (message.content === prefix + 'test') {
message.channel.send("test reply")
}
}
);
client.login(process.env.TOKEN);
Я не получил никакой ошибки, код просто не работал.
Любая помощь будет оценена. Спасибо.