#javascript #node.js #discord #discord.js
#javascript #node.js #Discord #discord.js
Вопрос:
const activities_list = ['Watching', 'Playing']; // creates an arraylist containing phrases you want your bot to switch through.
bot.on('ready', () => {
setInterval(() => {
const index = Math.floor(Math.random() * (activities_list.length - 1) 1); // generates a random number between 1 and the length of the activities array list (in this case 5).
bot.user.setActivity(activities_list[index]); // sets bot's activities to one of the phrases in the arraylist.
}, 10000); // Runs this every 10 seconds.
});
Ответ №1:
Если я правильно понял ваш вопрос, я предполагаю, что вы пытаетесь менять тип активности вашего клиента ( PLAYING
, STREAMING
, LISTENING
, WATCHING
CUSTOM_STATUS
, ,,,) каждые 10 секунд.
Я написал код, объясняющий, как это сделать.
// We are creating an Array containing the Activity type and message.
const activities_list = [
{
type: 'LISTENING',
message: 'some music.',
},
{
type: 'WATCHING',
message: 'a movie.',
},
{
type: 'PLAYING',
message: 'a game.',
},
];
client.on('ready', () => {
console.log(`${client.user.tag} is ready.`);
// Once the Client is ready, we are creating a setInterval that repeats every 10 seconds.
// The setInterval will run 10 seconds after the Client is ready, not immediately.
setInterval(() => {
// Picking a random activity from the activities_list Array.
const Activity =
activities_list[Math.floor(Math.random() * activities_list.length)];
// client.user.setActivity accepts two parameters, the name and the Object of options. We're going to set the name in the options Object.
client.user
.setActivity({
name: Activity.message,
type: Activity.type,
})
.catch((error) => console.error(`Couldn't set activity status. | ${error}`));
}, 10 * 1000);
// 10000ms is the same as 10 * 1000ms, but this way it's more readable.
});
Ответ №2:
Для меня я использую это
const activities_list = [
"Hey",
"What's up?",
"do !help",
"contact the developer to report any bug"
]; // creates an arraylist containing phrases you want your bot to switch through.
client.on('ready', () => {
setInterval(() => {
const index = Math.floor(Math.random() * (activities_list.length - 1) 1); // generates a random number between 1 and the length of the activities array list (in this case 5).
client.user.setActivity(activities_list[index]); // sets bot's activities to one of the phrases in the arraylist.
}, 10000); // Runs this every 10 seconds.
});
Комментарии:
1. Хотя этот код может отвечать на вопрос, предоставление дополнительного контекста относительно того, почему и / или как этот код отвечает на вопрос, улучшает его долгосрочную ценность.
2. @MohammedAlshabeeb Объясните, почему ваш код решает проблему.
3. @MohammedAlshabeeb Все, что вы сделали, это добавили больше записей в массив и изменили имена переменных, что, честно говоря, имеет больше шансов сломать код, а не исправить его, учитывая, что мы уже знаем, что OP использует другое имя переменной. Например, если бы они просто добавили это, это вообще не сработало бы.