机器人保持离线[重复]

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。这是一个与问题无关的不同问题。如果这解决了您的问题,请打勾以将其标记为答案

以上是关于机器人保持离线[重复]的主要内容,如果未能解决你的问题,请参考以下文章

discord bot 在生产中离线而不是在本地

暂时在本地机器上使用 SVN 离线工作

示教编程技术,离线编程技术,自主编程技术,你精通哪种?

Pipenv 锁:如何缓存下载以传输到离线机器

离线轻量级大数据平台Spark之MLib机器学习库概念学习

如何在离线 Debian 机器上安装 R 包?