我想获取Discord频道上发布的附件的URL。 已记录URL,但引发此错误:
url = message.attachments.first().url; ^ TypeError: Cannot read property 'url' of undefined at Client.<anonymous> (C:\...\discord\tutbot\index.js:34:38)
这是我当前的代码:
client.on("message", message => {
if (message.channel.id != "595178696118108190") return;
var content = message.content;
var url;
url = message.attachments.first().url;
console.log("haha" + url);
});
答案 0 :(得分:1)
如果邮件中没有附件,则message.attachments
将为空的Collection。 Collection.first()
将返回未定义。当您尝试读取预期附件的url
属性时,由于未定义错误而引发错误。
在阅读预期属性之前,请检查并确保有 个附件。
client.on("message", message => {
if (message.channel.id !== "595178696118108190") return;
if (message.attachments.size !== 0) { // Attachments are present.
const firstAttachment = message.attachments.first();
console.log(`haha ${firstAttachment.url}`);
}
});