因此,正如我在documentation中看到的那样,我可以调用tc.send("foo");
,但是它在我的代码中不起作用:
client.on('ready', () => {
var tc = client.guilds.get('547536528533094401').channels.get('547537490651774987')
console.log(tc.name) // Squad 1
tc.send('foo') // tc.send us not a function
})
在控制台中,我获得了正确的频道名称(小队1),但我也获得了
TypeError: tc.send is not a function
我想这不是铸造问题
client.guilds.get('547536528533094401').channels.get('547537490651774987').send('foo')
也不起作用。
当我做console.log(Object.getOwnPropertyNames(client.guilds.get('577240924162359312').channels.get('577240924162359321')))
我得到:
[
'client',
'type',
'deleted',
'id',
'name',
'position',
'parentID',
'permissionOverwrites',
'bitrate',
'userLimit',
'guild',
'members'
]
我正在使用discord.js@11.5.0
答案 0 :(得分:0)
所以,这是一个愚蠢的错误。我正在复制语音通用频道(General
)的ID,而不是 text 通用频道(#general
)的ID。
因此,当尝试访问TextChannel.send()
方法时,没有发现任何内容,因为它是VoiceChannel
。 (都扩展了GuildChannel
,又扩展了Channel
)。
我仍然想知道为什么tc.type返回Object而不是GuildChannel,因为我不太喜欢javascript的弱类型,但是至少现在可以了。
特别感谢@slothiful。