【问题标题】: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' }) 您可以执行的不同类型包括播放、流式传输、聆听和观看。

        【讨论】:

          猜你喜欢
          • 2021-02-09
          • 2021-01-10
          • 2019-09-16
          • 2018-06-26
          • 2023-03-14
          • 2018-10-10
          • 2020-05-15
          • 2018-05-18
          • 2021-04-01
          相关资源
          最近更新 更多