簡體   English   中英

DJS v14 如何計算已發送的每條嵌入消息?

[英]DJS v14 How to count every embed message it's been sent?

我想讓它依賴於發送到 +1 文本頻道的每個嵌入? 例如,用戶寫入文本通道。 BOT 將接收該消息,將其刪除並通過標記他發布並將嵌入計數為 #1 等。在此先感謝!

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const v10_1 = require("discord-api-types/v10");
const discord_js_1 = require("discord.js");
const Events_1 = require("../../structures/Events");
exports.default = new Events_1.Event("messageCreate", async (message) => {
    try {
        if (message.author.bot)
            return;
        if (message.channelId !== process.env.reviewsChannelId)
            return;
        if (message.channel.type !== v10_1.ChannelType.GuildNewsThread &&
            message.channel.type !== v10_1.ChannelType.GuildText)
            return;
        const content = message?.content;
        if (!content)
            return await message.delete();
        const reviews = new discord_js_1.EmbedBuilder()
            .setTitle(`[ <:review:1005784096120782888> ] - Review - [ <:review:1005784096120782888> ]`)
            .setColor(`#fdaf17`)
            .setDescription(`**${content}**`)
            .setTimestamp();
        await message.channel.send({ embeds: [reviews] });
        await message.delete();
    }
    catch (error) {
        return console.log(error);
    }
});

你有 2 個選擇,一個簡單的變量,比如

let count = 1;

並在每次await message.channel.send({ embeds: [reviews] }); 你用count++;

並在您通過示例編寫的嵌入中.setFooter({text: "Embed #" + count})

但是這個解決方案的問題是,如果你的機器人重新啟動,你會失去實際的嵌入計數。

因此,您可以使用相同的方式,但不是使用簡單的變量,而是使用 json 文件來存儲變量或數據庫。

希望這可以幫助你!

暫無
暫無

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

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