質問編集履歴
2
追加調査の内容を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
### 実現したいこと
|
2
2
|
|
3
|
-
- botが表示した絵文字に対してリアクションしたら、リアクションしたユーザにのみ見えるメッセージを表示したい
|
3
|
+
- botが表示した絵文字に対してリアクションしたら、リアクションしたユーザにのみ見えるメッセージを表示したい。
|
4
|
+
- SlashCommandを作成し、コマンド入力に対してメッセージ表示は確認できた。これをリアクションまたはボタンで実現したい。
|
4
5
|
|
5
6
|
### 前提
|
6
7
|
|
@@ -17,6 +18,8 @@
|
|
17
18
|
次に、interactionを使用している記述が見つかりました。
|
18
19
|
これをreaction処理に流用してみましたがこちらもエラーとなりました。(エラー2)
|
19
20
|
|
21
|
+
**追記**
|
22
|
+
slashcommandを使用して、コマンド入力した際に入力したユーザだけに見えるメッセージを表示することはできました。(ソースコード)
|
20
23
|
|
21
24
|
### 発生している問題・エラーメッセージ
|
22
25
|
|
@@ -36,15 +39,22 @@
|
|
36
39
|
|
37
40
|
#リプライ
|
38
41
|
async def on_message(message):
|
39
|
-
|
42
|
+
#エラー1のパターン
|
40
43
|
message.reply(message.content, ephemeral=True)
|
41
44
|
|
42
45
|
#リアクション
|
43
46
|
async def on_raw_reaction_add(payload):
|
44
47
|
|
45
|
-
#interactionを使用した記述
|
48
|
+
#interactionを使用した記述 (エラー2)
|
46
49
|
await interaction.response.send_message('test', ephemeral=True)
|
50
|
+
|
51
|
+
#SlashCommand
|
52
|
+
@tree.command(name="test",description="テストコマンドです。")
|
53
|
+
async def test_command(interaction: discord.Interaction):
|
54
|
+
await interaction.response.send_message("てすと!",ephemeral=True)#ephemeral=True→「これらはあなただけに表示されています」
|
55
|
+
|
47
56
|
```
|
48
57
|
|
49
58
|
|
50
59
|
|
60
|
+
|
1
調査したこと・試したことを記載
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,18 +11,19 @@
|
|
11
11
|
画像はCollabLandの例です。
|
12
12
|

|
13
13
|
|
14
|
+
### 調査したこと・試したこと
|
14
|
-
|
15
|
+
検索したところ、対象のユーザのみに見えるメッセージは **ephemeral message**機能を使う、あったので、まずmessage.replyに ephemeral=True のオプションをつけてみましたがエラーとなりました。(エラー1)
|
15
16
|
|
16
|
-
- messageに対するリプライで ephemeral=Trueとする記述ではエラーとなりました。この書き方ではできないのでしょうか。または記述に誤りがあるでしょうか。
|
17
|
-
|
17
|
+
次に、interactionを使用している記述が見つかりました。
|
18
|
+
これをreaction処理に流用してみましたがこちらもエラーとなりました。(エラー2)
|
18
19
|
|
19
20
|
|
20
21
|
### 発生している問題・エラーメッセージ
|
21
22
|
|
22
23
|
```
|
23
|
-
-- リプライ
|
24
|
+
-- リプライ(エラー1)
|
24
25
|
TypeError: Messsagable.send() got an unexpected keyword argument 'ephemeral'
|
25
|
-
-- リアクション
|
26
|
+
-- リアクション(エラー2)
|
26
27
|
module 'interaction' has no attribute 'response'
|
27
28
|
```
|
28
29
|
|
@@ -45,3 +46,5 @@
|
|
45
46
|
await interaction.response.send_message('test', ephemeral=True)
|
46
47
|
```
|
47
48
|
|
49
|
+
|
50
|
+
|