簡體   English   中英

discord.js 如何編輯/更新嵌入?

[英]discord.js how to edit/update embed?

我正在開發一個“小型”機器人以獲取樂趣,目前正在嘗試創建一個二十一點命令。 前半部分工作正常,但是當我想更新機器人已經發布的嵌入時會出現問題。 我不斷收到錯誤消息: UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot edit a message authored by another user這是部分代碼:

        const embd = new Discord.MessageEmbed()
            .addFields(
                { name: 'Dealer cards: ' + botCards + ' + ?'},
                { name: 'Your cards: ' + userCards},
            )

            message.channel.send(embd).then(embdReact => {
                embdReact.react('🟩');
                embdReact.react('🟥');

                const filter = (reaction, user) => {
                    return ['🟩','🟥'].includes(reaction.emoji.name) && user.id === message.author.id;
                };
            
                embdReact.awaitReactions(filter, { max: 1, time: 60000})
                    .then(collected => {
                        const reaction = collected.first();
            
                        if (reaction.emoji.name === '🟩'){
                            const newEmbd = new Discord.MessageEmbed()
                                .setTitle("Wow");
                            message.edit(newEmbd);
                        }
                        else {
                            message.reply('boo');
                        }
                        })
            }) 

為了進行測試,我嘗試僅更改標題,但在完美的世界中,相應的字段將被更新。 例如: “你的卡片:”字段。

您正在編輯錯誤的消息:

該行:

message.edit(newEmbd);

應該:

embdReact.edit(newEmbd);

希望這可以幫助您解決問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM