【问题标题】:Discord.js: TypeError: Cannot read property 'setPresence' of nullDiscord.js:TypeError:无法读取 null 的属性“setPresence”
【发布时间】:2021-11-02 13:59:24
【问题描述】:

这是我正在尝试制作的 discordbot,但它在 client.user.setPresence({ activities: [{ name: 'Test' }], status: 'online' }); 处不断出错

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => res.send('Hello World!'));

app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`));

// ================= START BOT CODE ===================
const Discord = require('discord.js');
const client = new Discord.Client();
const dcToken = process.env['DcT3enE4JJf']
  ;

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
  if (msg.content === '/ping') {
    msg.reply('Pong!');
  }

  if (msg.channel.id === '833702368637616191') {
      if (!msg.attachments.size) {
        msg.author.send(`Your message ("${msg}") was deleted, Please only send images in the #images channel`);
        msg.guild.channels.cache.get('883581919835615232').send(`A message "**${msg}**" by <@${msg.author.id}> was deleted from <#${msg.channel.id}>`);

        msg.delete()
        console.log('A message was deleted from #images')
      }
  }

});

client.login(dcToken);

client.user.setPresence({ activities: [{ name: 'Test' }], status: 'online' });

输出错误

TypeError: Cannot read property 'setPresence' of null
    at /home/runner/DiscordBot1/index.js:38:13
    at Script.runInContext (vm.js:130:18)
    at Object.<anonymous> (/run_dir/interp.js:209:20)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47

【问题讨论】:

    标签: node.js discord discord.js bots


    【解决方案1】:

    只有在你的机器人准备好之后才能这样做。

    client.on('ready', () => {
       console.log(`Logged in as ${client.user.tag}!`);
       client.user.setPresence({ activities: [{ name: 'Test' }], status: 'online' });
    });
    

    【讨论】:

      猜你喜欢
      • 2020-02-16
      • 2021-09-25
      • 2020-09-04
      • 2022-01-27
      • 2020-09-03
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多