【发布时间】:2021-12-02 11:12:01
【问题描述】:
我开始为我朋友的服务器创建自己的 Discord 机器人,但我一直遇到同样的问题。
我写了一个简单的东西来在我和机器人之间进行第一次交互:
client.on("messageCreate", message => {
console.log(message.content);
});
这应该在控制台中写入在机器人连接的不和谐服务器上发送的任何消息的内容(它只连接到我的测试服务器)
我不明白为什么这不起作用,所以我开始寻找它并使用“调试”事件。
当运行node index.js 时,控制台告诉我:
Booting up...
[WS => Manager] Fetched Gateway Information
URL: wss://gateway.discord.gg
Recommended Shards: 1
[WS => Manager] Session Limit Information
Total: 1000
Remaining: 981
[WS => Manager] Spawning shards: 0
[WS => Shard 0] [CONNECT]
Gateway : wss://gateway.discord.gg/
Version : 9
Encoding : json
Compression: none
[WS => Shard 0] Setting a HELLO timeout for 20s.
[WS => Shard 0] [CONNECTED] Took 172ms
[WS => Shard 0] Clearing the HELLO timeout.
[WS => Shard 0] Setting a heartbeat interval for 41250ms.
[WS => Shard 0] [IDENTIFY] Shard 0/1 with intents: 8
[WS => Shard 0] [READY] Session f3fcd33aad118dc188b7b63c3eec3eed.
[WS => Shard 0] [ReadyHeartbeat] Sending a heartbeat.
[WS => Shard 0] Shard will not receive any more guild packets.
Unavailable guild count: 1
Booted !
[WS => Shard 0] Heartbeat acknowledged, latency of 112ms.
[WS => Shard 0] [HeartbeatTimer] Sending a heartbeat.
[WS => Shard 0] Heartbeat acknowledged, latency of 120ms.
[WS => Shard 0] [HeartbeatTimer] Sending a heartbeat.
然后它继续发送心跳并确认它,直到我停止它。
告诉我有什么问题是这样的:
“分片不会再收到公会包”
“不可用的公会数量:1”
这是我的整个index.js(只有我的令牌在config.json):
console.log("Booting up...");
const { Client, Intents } = require("discord.js");
const {spd} = require("./config.json");
const botIntents = 8;
const client = new Client({intents : botIntents});
client.login(spd);
client.once("ready", isBooted);
client.on("messageCreate", message => {
console.log(message.content);
});
client.on("debug", err => {
console.log(err);
});
/////////
function isBooted() {
console.log(" Booted !");
}
系统信息:
Windows 10
NPM 8.0.0
Node v16.11.1
Discord.js 13.2.0
如果您需要更多信息来帮助您,请告诉我。
【问题讨论】:
-
您是否在其他公会中尝试过,并且您确定您的机器人有权查看频道及其消息?在 OAuth2 部分邀请您的机器人进入DevPortal 时,您必须选择机器人,并至少授予您的机器人
Read Message History的权限。如果你在没有任何权限的情况下邀请了你的机器人,即使给它一个角色的权限也行不通。 -
我只是尝试了与消息和查看频道相关的所有权限,我尝试了管理员权限,并在不同的服务器上尝试了所有这些,这是相同的,除了“不可用的公会计数”为 3 时机器人在 3 台服务器上(完全合乎逻辑)
标签: javascript node.js discord discord.js bots