簡體   English   中英

Discord.js:從特定/所有通道獲取歸檔線程

[英]Discord.js: Fetch archived threads from specific/all channels

我正在開發一個 Discord 機器人,它可以從我的 Discord 服務器上的各個通道獲取歸檔線程。 現在我有代碼工作,它將從發送消息的當前通道獲取數據,但我正在尋找一種從服務器上的所有通道獲取線程數據的方法(或者至少允許我指定從哪個通道打印該數據,以便我可以在我的機器人通道中運行我的所有命令)。

我在 Discord.js 版本 14.1.2 上。

這是我到目前為止所擁有的:

client.on('messageCreate',  async function (message) {
    if (message.content === "!test"){
    const guild = client.guilds.cache.get("GUILD_ID_HERE"); // This has been removed here for privacy

    let archivedThreads = await message.channel.threads.fetchArchived()
    console.log(archivedThreads)
    }
}

我相信它只打印當前頻道的原因是因為message. 部分代碼,但我還沒有找到一種不使用該代碼來訪問存檔線程的方法。

關於如何從服務器上的所有通道獲取線程數據的任何想法?

fetchArchived() function 可用於任何頻道,因此您可以循環遍歷所有公會頻道並獲取每個頻道的線程:

var textChannels = message.guild.channels.cache.filter(c => c.type === ChannelType.GuildText);
textChannels.forEach(async (channel) => {
    let archivedThreads = await channel.threads.fetchArchived();
    console.log(archivedThreads);
});

注意:記得從 discord.js 導入ChannelType object

暫無
暫無

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

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