#javascript #node.js #discord.js #sharding
#javascript #node.js #discord.js #сегментирование
Вопрос:
Я использую discord.js ‘менеджер сегментирования, но всякий раз, когда я запускаю node index.js
терминал, я получаю эту ошибку: (node:10396) UnhandledPromiseRejectionWarning: Error [SHARDING_IN_PROCESS]: Shards are still being spawned.
Это мой index.js файл:
const { ShardingManager } = require('discord.js');
const { token } = require('./config');
const manager = new ShardingManager('./bot.js', {
token: token,
totalShards: "auto",
respawn: true
});
manager.spawn();
manager.on("shardCreate", shard => console.log(`[ ShardManager ] Launching shard #${shard.id}`));
Как мне это исправить?
Комментарии:
1. вы выяснили, в чем проблема? Я также сталкиваюсь с той же проблемой
Ответ №1:
Согласно https://discordjs.guide/sharding/#sharding-file , возможно, подумайте об использовании launch, а также о том, manager.spawn();
что manager.on()
это может решить вашу проблему, надеюсь, это поможет.
‘Приведенный выше код использует discord.js менеджер сегментов для создания рекомендуемого количества сегментов для вашего бота. Рекомендуемая сумма должна составлять примерно 1000 гильдий за осколок. Обратите внимание, что вы должны подключить прослушиватель событий к shardCreate перед вызовом .spawn(), чтобы предотвратить состояние гонки, которое может помешать сегменту 0 зарегистрировать успешный запуск. Даже если вы предоставляете токен здесь, вам все равно нужно будет отправить его в основной файл бота в client.login(), так что не забудьте это сделать.'(это было извлечено из руководства)