机器人保持离线[重复]
Posted
技术标签:
【中文标题】机器人保持离线[重复]【英文标题】:Bot staying offline [duplicate] 【发布时间】:2021-12-21 20:08:10 【问题描述】:我尝试在 discord 上创建一个机器人,并且通过多个教程,我已按照所有说明进行操作,并且一开始似乎可以正常工作。但是,在所有教程中,我遇到了一个问题。在我的机器人的 index.js 文件中,当我打开 VSCode 终端并输入命令 node index.js
(这应该让我的机器人上线时,我收到以下错误消息:
/Users/myname/Desktop/testbot/node_modules/discord.js/src/client/Client.js:544
throw new TypeError('CLIENT_MISSING_INTENTS');
^
TypeError [CLIENT_MISSING_INTENTS]: Valid intents must be provided for the Client.
at Client._validateOptions (/Users/myname/Desktop/testbot/node_modules/discord.js/src/client/Client.js:544:13)
at new Client (/Users/myname/Desktop/testbot/node_modules/discord.js/src/client/Client.js:73:10)
at Object.<anonymous> (/Users/myname/Desktop/testbot/index.js:2:13)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47
[Symbol(code)]: 'CLIENT_MISSING_INTENTS'
我安装了 node.js 16.13.0 和 discord.js。我的机器人是我服务器的成员,但它始终处于脱机状态。我能做些什么来解决它?
这是 index.js 的代码:
const Discord = require('discord.js');
const bot = new Discord.Client();
const token = '[not putting my token online]';
const PREFIX = '';
bot.on('ready', () =>
console.log('Online!');
);
bot.login(token);
【问题讨论】:
【参考方案1】:您的机器人似乎没有添加根据discord.js starter guide 运行所需的意图
// Require the necessary discord.js classes
const Client, Intents = require('discord.js');
const token = 'your token here';
// Create a new client instance
const client = new Client( intents: [Intents.FLAGS.GUILDS] );
// When the client is ready, run this code (only once)
client.once('ready', () =>
console.log('Ready!');
);
// Login to Discord with your client's token
client.login(token);
【讨论】:
好的,这解决了问题。但是,一旦我退出 VSCode,机器人就会离线。我怎样才能让它永久在线? 考虑为您的机器人获取专用托管服务器,例如 Google Cloud 或 AWS。诸如此类的服务允许您在虚拟机上运行代码并使其 24/7 全天候运行。 @AngelR。这是一个与问题无关的不同问题。如果这解决了您的问题,请打勾以将其标记为答案以上是关于机器人保持离线[重复]的主要内容,如果未能解决你的问题,请参考以下文章