【发布时间】:2020-06-25 04:57:39
【问题描述】:
阅读底部的编辑,更改整个问题。
是的,我知道以前有人问过这个问题。但是,我找不到有效且未被弃用的解决方案。这是操作我要复制的特定功能所需的代码部分;
const Discord = require('discord.js');
const bot = new Discord.Client();
const client = bot
const token = 'NunyaBuisness';
const channel = '525723958239852735' // Not a real channel ID
const PREFIX = '.';
bot.on('message', msg=>{
let args = msg.content.substring(PREFIX.length).split(" ");
switch(args[0]){
case 'process':
if(args[1] === 'test'){
var testGuild = new Discord.Guild(bot, 'serverID');
var testTextChannel = new Discord.TextChannel(testGuild, channel);
testTextChannel.send("Test");
}
break;
}
})
Bot 在消息中返回以下内容
.进程测试
B:\bot\node_modules\discord.js\src\structures\Guild.js:152
this.large = Boolean('large' in data ? data.large : this.large);
^
TypeError: Cannot use 'in' operator to search for 'large' in serverID
at Guild._patch (B:\bot\node_modules\discord.js\src\structures\Guild.js:152:34)
at new Guild (B:\bot\node_modules\discord.js\src\structures\Guild.js:92:12)
at Client.<anonymous> (B:\bot\index.js:101:33)
at Client.emit (events.js:311:20)
at MessageCreateAction.handle (B:\bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (B:\bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (B:\bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (B:\bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:435:22)
at WebSocketShard.onMessage (B:\bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (B:\bot\node_modules\ws\lib\event-target.js:120:16)
感谢您的帮助!对此,我真的非常感激。几天来,我一直在尝试自己使用文档来解决这个问题,但不断失败。
编辑
我认为问题在于 CLIENT.channels.get('id') 方法实际上并不存在。这太奇怪了,我正在浏览 GitHub 看看是否缺少任何东西。在这一刻,我看到绝对没有任何遗漏。这太奇怪了。 感谢您迄今为止的帮助。
【问题讨论】:
-
请注明哪一行是101,我怀疑是
var testGuild = new Discord.Guild(bot, 'serverID'); -
看起来你正在传递一个字符串,其中需要一个对象。 Documentation 说它应该是
new Discord.Guild(client, data);并且data应该是一个对象,但我不确定它应该包含什么。有一个示例 here 从另一个调用中检索data,但不清楚该代码为什么或做什么 -
为什么要使用
new Discord.Guild(和new Discord.TextChannel获取频道? -
@Cipher 我真的不知道。我只是放弃并输入了当时的示例代码。我只想要“channel = somefunction(channelID)”之类的东西
-
所以我为你的问题添加答案:)
标签: javascript discord.js