亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Discord.js 嵌入個人資料圖片命令并提及

Discord.js 嵌入個人資料圖片命令并提及

紅糖糍粑 2023-06-29 22:26:55
我正在使用 Visual Studio Code 應用程序在discord.js 中創建一個機器人。我正在嘗試為個人資料圖片創建一個命令,這樣當您輸入 -pfp 時,它會顯示您的個人資料圖片,當您輸入 -pfp @user 時,它會顯示您提到的人的個人資料圖片。(- 是前綴)。盡管機器人只發送消息,但沒有嵌入圖片部分。當我提到其他人時,它會做同樣的事情,但提到的是我而不是用戶。這就是我所擁有的:    if (!message.content.startsWith(prefix) || message.author.bot) return;        if (message.content.startsWith(prefix + 'pfp')) {            message.channel.send('Here is <@'+ message.author.id+ ">'s pfp :)")            const avatarEmbed = new Discord.MessageEmbed()                .setColor('#446580')                .setAuthor('user.username')                .setImage(message.author.displayAvatarURL());        } else if (message.content.startsWith(prefix+ 'pfp'+ message.mentions.users)) {            message.channel.send('Here is <@'+ message.user.id+ ">'s pfp :)")            const avatarEmbed = new Discord.MessageEmbed()                .setColor('#446580')                .setAuthor('user.username')                .setImage(message.user.displayAvatarURL());        }});
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

這里有兩個部分。


首先,機器人僅發送消息而不是嵌入,因為您只發送消息。您需要一行單獨的代碼來發送嵌入內容。


message.channel.send(avatarEmbed);

其次,機器人只會因此而標記您message.content.startsWith(prefix + 'pfp')。您區分作者和其他人的方式意味著它將始終匹配第一個案例,這意味著消息始終以開頭,prefix + pfp無論您之后是否標記某人。


現在你有幾種方法可以解決這個問題,但我會這樣做。


首先,您定義一個新變量,我們將其命名為pfpMember,然后將其分配給您標記的第一個人或消息的作者。


var pfpMember = message.mentions.members.first() || message.member;

現在我們有了一個固定成員,它要么是被標記的人,要么是作者,我們可以將函數分配displayAvatarURL給該成員。


.setImage(pfpMember.user.displayAvatarURL());

所以你的整個命令應該看起來像這樣。


if (message.content.startsWith(prefix + 'pfp')) {

    var pfpMember = message.mentions.members.first() || message.member;

    // we can just put the member object into the string here, that will tag the person

    message.channel.send(`Here is ${pfpMember}'s pfp :)`);


    const avatarEmbed = new Discord.MessageEmbed()

        .setColor('#446580')

        .setAuthor(pfpMemer.user.username)

        .setImage(pfpMember.user.displayAvatarURL());

    

    message.channel.send(avatarEmbed);

}


查看完整回答
反對 回復 2023-06-29
  • 1 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號