【问题标题】:discord.js V12 - Console commands, and variable output showing as Undefineddiscord.js V12 - 控制台命令和变量输出显示为未定义
【发布时间】:2021-03-24 17:51:19
【问题描述】:

所以,我是 JavaScript 新手。我正在制作一个 Discord 机器人,因为它是我目前唯一真正使用 JavaScript 的东西,而且我想学习一些东西。每当我尝试显示类似 id 的内容时,它都会显示未定义。

    client.on("channelCreate", function(channel){
    console.log(channel.type+` channel, `+channel.name+`, was created by `+`${channel.owner_id}`+` in the category `+channel.parent_id);
    });

我想为我的机器人制作一个基本的日志部分,而我才刚刚开始。我希望它像

00:00:00 CREATE >  [Text / Voice] Channel was created by [Creator] under category [category]!

我知道确切的格式并没有在代码中实现,我测试了很多功能,然后才让它变得漂亮哈哈。但结果是这样的(使用我现在的代码)

text channel, s, was created by undefined in the category undefined

我很困惑,因为我喜欢细节,所以我想知道是谁创造的,什么时候创造的,还有类别!那我该怎么做呢?

另外,有没有办法从控制台发送消息和东西? 就像我在控制台中输入的一样

[channel or user] > [the message]
#testchannel > Announcing new video or something idk

并将其发送到频道?任何帮助表示赞赏!

编辑:我忘了提到我有 ${var} 格式的 owner_id 部分,因为我正在测试它是否可以使它工作,但我从来没有将它切换回来大声笑

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    更改channel.parent.name 会起作用,但无法知道是谁创建了频道,这是代码 -

    client.on("channelCreate", function(channel){
        console.log(channel.type+` channel, `+channel.name+`,`+` in the category `+channel.parent.name);
        });
    

    【讨论】:

    • 非常感谢!它工作得很好!等等,没有办法看看是谁做的?在不和谐的开发者文档中有 .owner_id 那会是什么?
    • 不,没有办法查看谁制作了频道
    • @StarsTracker 实际上有一种方法可以查看谁创建了频道,只需获取审计日志,如this answer 所示。
    • 你确定@StarsTracker 吗?我找不到具有 dm 属性的 channel 的任何文档。此外,由于此channelCreate 事件而不是message 事件处理程序中发生错误,因此您不会使用message.channel,只需使用channel。我想你会这样做:if (channel.type == "dm") return;
    • 好的,我知道这是一个错误,你可以按照上面的解释!
    猜你喜欢
    • 2021-01-30
    • 2021-05-10
    • 2018-12-21
    • 2021-06-25
    • 2021-01-01
    • 2021-02-18
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多