thread が作成されたことを検知する方法
threadCreate イベントを使用する。
ただし、プライベートスレッドに招待されたりした場合にもおそらく発火する
見えないところで作られたスレッドが見える状態になった場合はthreadListSyncイベントが発火するので要件に合わせて使っていくと良い。
code:js
const Discord = require("discord.js");
const { inspect } = require("node:util");
const client = new Discord.Client({
intents: Discord.Intents.FLAGS.GUILDS
});
client.on("threadCreate", (thread) => {
console.log(inspect(thread.toJSON()));
});
client.login();
参考
備考
THREAD_CREATE gateway eventをdiscord.jsはキャッシュにある場合無視する
これによってpublic threadにおいてはdiscord apiからのjoin時のTHREAD_CREATE gateway eventを無視できる。