はじめに
初めまして鈴也 蓮(スズナリ レノ)と申します。
本記事では「discord.js ephemeral 非推奨について」話していこうと思います。
さっそく...
年始早々、Discord BOTの開発をしていると下のような警告メッセージがターミナルで突如発生!!
Warning: Supplying "ephemeral" for interaction response options is deprecated. Utilize flags instead.
どうやら、 ephemeral
君 が非推奨になったから flags
君 を使ってくれとのこと。
ephemeral ってなんぞや
Q. そもそも、 ephemeral
君 ってだれ?
A. インタラクションの応答において「他のユーザーには見えない一時的なメッセージを送る」ためのオプションで、便利なショートカット(ヘルパー)です。
例:
if (interaction.commandName === 'test') {
interaction.reply({
content: 'Hello world!',
ephemeral: true
});
}
なんで非推奨になったのか
ephemeral
君 がヘルパーであると言ったように、本来は flags
君 を使ってオプションを適用させるのが正しい方法です。
開発者は ephemeral
君 だけを特別扱いせず、コードの一貫性を保つため ephemeral
君 を非推奨にしたと言えます。
flags を使って一時的なメッセージを送信する方法
Discord.js で flags
君 を使って一時的なメッセージを送信する方法を3つ紹介します。
- MessageFlags を使う方法(推奨)
const { MessageFlags } = require('discord.js');
interaction.reply({
content: 'Hello world!',
flags: MessageFlags.Ephemeral
});
- フラグ名を文字列で指定する方法
interaction.reply({
content: 'Hello world!',
flags: 'Ephemeral'
});
- フラグの値を直接指定する方法
interaction.reply({
content: 'Hello world!',
flags: 64
});
おわり
最後まで見てくれてありがとうございますた。じゃね👋