【问题标题】:Discord JS (Bot Presence)Discord JS(机器人存在)
【发布时间】:2020-08-28 17:02:00
【问题描述】:
因此,在 Discord 中,用户可以拥有自定义状态,但是,当我尝试设置我的机器人时,没有任何反应...即使 CUSTOM_STATUS 可用
我有bot.user.setPresence({ activity: { name: "Testing", type: "CUSTOM_STATUS" }, status: "online" });
在ready 事件中。我只是想知道为什么这不起作用以及是否有解决方法
【问题讨论】:
标签:
javascript
discord
discord.js
【解决方案1】:
根据docs.
机器人无法设置 CUSTOM_STATUS,它仅适用于从用户收到的自定义状态
您可以选择的有效类型是:
【解决方案2】:
试试 client.user.setActivity(Your Status)
我正在使用它并且它工作正常
如果您使用的是 v12,那么我无法帮助您
【解决方案3】:
您应该确保您的 setPresence 命令在您的就绪事件中。例如,这是我准备好的命令:
const {PREFIX} = require('../config.json');
const { Message } = require('discord.js');
const message = require('./message.js');
//must update when new module.exports event happens
const leaveEvent = require('../util/guildMemberRemove');
const invitecounterEvent = require('../util/guildMemberAddinvitecounter');
const modmailEvent = require('../util/modmail');
module.exports = (client, message) => {
//must update when new module.exports event happens
leaveEvent(client);
invitecounterEvent(client);
modmailEvent(client);
console.log(' ');
console.log(`Hi, ${client.user.username} is now online! My Prefix is ${PREFIX}`);
console.log(`Bot has started, with ${client.users.size} users, in ${client.channels.size} channels of ${client.guilds.size} guilds.`);
//client.user.setActivity(`Serving ${client.guilds.size} servers`); (big servers only)
client.user.setActivity('U', { type: 'WATCHING' }) //PLAYING, STREAMING, LISTENING, WATCHING, CUSTOM_STATUS
.then(presence => console.log(`Activity set to: WATCHING ${presence.activities[0].name}`))
.catch(console.error);
console.log(`Ready as ${client.user.tag} to serve in ${client.channels.cache.size} channels on ${client.guilds.cache.size} servers, for a total of ${client.users.cache.size} users.`);
client.generateInvite(['SEND_MESSAGES', 'MANAGE_GUILD', 'MENTION_EVERYONE', 'ADMINISTRATOR',])
.then(link => {
console.log(`Generated bot invite link: ${link}`);
// eslint-disable-next-line no-undef
inviteLink = link;
});
};
应该帮助你的部分是client.user.setActivity('U', { type: 'WATCHING' })
您可以执行的不同类型包括播放、流式传输、聆听和观看。