質問編集履歴

2

追加調査の内容を追記

2023/05/12 06:58

投稿

deracine3473
deracine3473

スコア14

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

調査したこと・試したことを記載

2023/05/12 00:18

投稿

deracine3473
deracine3473

スコア14

test CHANGED
File without changes
test CHANGED
@@ -11,18 +11,19 @@
11
11
  画像はCollabLandの例です。
12
12
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-05-12/7beb7691-be2f-485e-9a49-d964dcd0f9ce.png)
13
13
 
14
+ ### 調査したこと・試したこと
14
- 調査したところでは、対象のユーザのみに見えるメッセージは ephemeral message とあったので修正してみたのですく動作ていません
15
+ 検索したところ、対象のユーザのみに見えるメッセージは **ephemeral message**機能を使う、あったので、まずmessage.replyに ephemeral=True のオプションをつけてみましたがエラーとなりまし(エラー1)
15
16
 
16
- - messageに対するリプライで ephemeral=Trueとする記述ではエラーとなりました。この書き方ではできないのでしょうか。または記述に誤りがあるでしょうか。
17
- - interactionを使用している記述が見つかりました。こちらの方式が一般的なのでしょうか?
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
+