как изменить режимы, то есть смотрит, воспроизводит, слушает. Я играю только по какой-то причине discord.js

#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 использует другое имя переменной. Например, если бы они просто добавили это, это вообще не сработало бы.