1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Warning: Supplying "ephemeral" for interaction response options is deprecated. Utilize flags instead.

Posted at

はじめに

初めまして鈴也 蓮(スズナリ レノ)と申します。
本記事では「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つ紹介します。

  1. MessageFlags を使う方法(推奨)
const { MessageFlags } = require('discord.js');

interaction.reply({
    content: 'Hello world!',
    flags: MessageFlags.Ephemeral
});
  1. フラグ名を文字列で指定する方法
interaction.reply({
    content: 'Hello world!',
    flags: 'Ephemeral'
});
  1. フラグの値を直接指定する方法
interaction.reply({
    content: 'Hello world!',
    flags: 64
});

おわり

最後まで見てくれてありがとうございますた。じゃね👋

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?