如何更改 Discord.js 机器人的状态?

4

我想要改变我的Discord机器人的状态。我尝试了下面的方法,但它没有起作用。

const { Client, MessageAttachment } = require('discord.js');

const client = new Client();

client.once('ready', () => {
 console.log('Status:Ready');
 client.user.setPresence({
  game: {
   name: 'to radio',
   type: 'LISTENING',
  },
  status: 'online',
 });
});
4个回答

3
你可以使用 client.user.setActivity 方法。这个方法的第一个参数是你想要的活动名称。
在第二个参数中,你可以指定你希望在状态中显示的活动类型 (WATCHING, PLAYING, STREAMING, 和 LISTENING)。例如:
client.on("ready", () => {
  // Playing in my support server
  client.user.setActivity("in my support server", { type: "PLAYING" });

  // Streaming <name of stream>
  client.user.setActivity({ type: "STREAMING", url: "<twich url>" });

  // Watching over xx servers
  client.user.setActivity(`over ${client.guilds.cache.size} servers`, {
    type: "WATCHING",
  });

  // Listening to xxx users
  client.user.setActivity(
    `to ${client.guilds.cache
      .map((guild) => guild.memberCount)
      .reduce((p, c) => p + c)} users`,
    { type: "LISTENING" }
  );
});

2
´´´
client.once('ready', () => {
    client.user.setActivity('something',{type: 'PLAYING'});
});
´´´

这可能是最简单的方法,存在类型可以是 PLAYING、WATCHING 和 STREAMING,但你可以为后两者添加网址。

2
你可以使用这一行代码。
client.user.setActivity('your status', {
 type: 'a type like STREAMING',
 url: 'url of streaming',
});

0
client.once('ready', () => {
    client.user.setActivity('something',{type: 'PLAYING'});
});

可以播放、流媒体和观看


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接