質問するログイン新規登録

回答編集履歴

1

質問内容を未把握だったため修正

2020/02/28 15:20

投稿

coolwind0202
coolwind0202

スコア708

answer CHANGED
@@ -1,15 +1,17 @@
1
- これはvcの定義の問題ではありませんか?なぜリアクション追加時とメッセージ送信時で処理を変えたのかはわかりかねますが・・・
1
+ これはvcの定義の問題ではありませんか?
2
2
 
3
3
  `discord.VoiceClient` はユーザーが直接インスタンスを作成することを想定したクラスではないと思います。
4
4
  > Discordの音声接続を表します。
5
5
  これを意図的に生成することはできません。通常、 VoiceChannel.connect() などを使用した際に、取得できます。
6
6
  ー [公式ドキュメント](https://discordpy.readthedocs.io/ja/latest/api.html#discord.VoiceClient)
7
7
 
8
+ 特定のサーバーにおけるbotのVoiceClientは `discord.Guild.voice_client` です。
9
+
8
10
  ```py
9
11
  @client.event
10
12
  async def on_message(message):
11
13
  if message.content.startswith('再生'):
12
14
  channel = client.get_channel(チャンネルID)
13
- vc = await channel.connect()
15
+ vc = channel.guild.voice_client
14
16
  vc.play(discord.FFmpegPCMAudio('test2.mp3'), after=lambda e: print('done', e))
15
17
  ```