見出し画像

【discord.js】interactionごとにデータを共有する方法

discord.js v14ではmodalにselectmenuもbuttonも追加できないため、使用するならばinteraction(GUI?、Component?なんと呼ぶのが正しいのだろうか)を連続して使う必要性がある。

しかし、その相互にデータを共有しないと操作が行なえないことがあるだろう。

今回はその解決策を模索してみる。


Redditから

同じような話題を扱っているスレッドを見つけたため覗いてみる。

どうやらdiscord.jsに解決できる機能はないようだ。(ならばmodalにselectmenuとか対応してほしい(小声))

ここで述べられているが、customIdを利用する方法があるだろう。


CustomIdを使う

CustomIdに引数の値を含めて指定することで、値を渡すことができる。

startsWith()かCustomId.split()のような形で加工してあげれば、CustomIdと引数の復元はできる。

少し面倒ではあるが、この方法で解決することにした。

この記事が気に入ったらサポートをしてみませんか?