回答編集履歴
3
コードの修正。
test
CHANGED
@@ -1,3 +1,59 @@
|
|
1
|
+
```python
|
2
|
+
|
3
|
+
voice = None
|
4
|
+
|
5
|
+
player = None
|
6
|
+
|
7
|
+
@client.event
|
8
|
+
|
9
|
+
async def on_message(message):
|
10
|
+
|
11
|
+
global voice, player
|
12
|
+
|
13
|
+
if message.author.bot:
|
14
|
+
|
15
|
+
return
|
16
|
+
|
17
|
+
if message.author.voice_channel is None:
|
18
|
+
|
19
|
+
await client.send_message(message.channel ,'ボイスチャンネルに参加した上で、もう一度実行してください。')
|
20
|
+
|
21
|
+
return
|
22
|
+
|
23
|
+
if voice == None:
|
24
|
+
|
25
|
+
voice = await client.join_voice_channel(message.author.voice_channel)
|
26
|
+
|
27
|
+
# 接続しているかを確認
|
28
|
+
|
29
|
+
elif(voice.is_connected() == True):
|
30
|
+
|
31
|
+
# 接続先で音声を流しているか確認
|
32
|
+
|
33
|
+
if(player.is_playing()):
|
34
|
+
|
35
|
+
# 流していれば停止させる
|
36
|
+
|
37
|
+
player.stop()
|
38
|
+
|
39
|
+
await voice.move_to(message.author.voice_channel)
|
40
|
+
|
41
|
+
player = await voice.create_ytdl_player('https://www.youtube.com/watch?v=ZiAOvG82xN4')
|
42
|
+
|
43
|
+
player.start()
|
44
|
+
|
45
|
+
```
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
これでどうでしょうか。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
---
|
54
|
+
|
55
|
+
|
56
|
+
|
1
57
|
send_message()は基本的に以下のようにして使います。
|
2
58
|
|
3
59
|
```python
|
2
編集のミス。
test
CHANGED
@@ -54,7 +54,11 @@
|
|
54
54
|
|
55
55
|
動かしてはいないので、間違っているかもしれません。
|
56
56
|
|
57
|
+
|
58
|
+
|
57
59
|
---
|
60
|
+
|
61
|
+
|
58
62
|
|
59
63
|
いくつか間違いがあるので訂正をさせていただきますね。
|
60
64
|
|
1
質問への回答
test
CHANGED
@@ -1,3 +1,61 @@
|
|
1
|
+
send_message()は基本的に以下のようにして使います。
|
2
|
+
|
3
|
+
```python
|
4
|
+
|
5
|
+
await client.send_message(メッセージを送信するチャンネル, '送信するメッセージ')
|
6
|
+
|
7
|
+
```
|
8
|
+
|
9
|
+
次に接続の確認ですが以下のような実装になるかと思います。
|
10
|
+
|
11
|
+
```python
|
12
|
+
|
13
|
+
voice = None
|
14
|
+
|
15
|
+
player = None
|
16
|
+
|
17
|
+
@client.event
|
18
|
+
|
19
|
+
async def on_message(message):
|
20
|
+
|
21
|
+
if message.author.bot:
|
22
|
+
|
23
|
+
return
|
24
|
+
|
25
|
+
if message.author.voice_channel is None:
|
26
|
+
|
27
|
+
await client.send_message(message.channel ,'ボイスチャンネルに参加した上で、もう一度実行してください。')
|
28
|
+
|
29
|
+
return
|
30
|
+
|
31
|
+
if voice == None:
|
32
|
+
|
33
|
+
voice = await client.join_voice_channel(message.author.voice_channel)
|
34
|
+
|
35
|
+
# 接続しているかを確認
|
36
|
+
|
37
|
+
elif(voice.is_connected() == True):
|
38
|
+
|
39
|
+
# 接続先で音声を流しているか確認
|
40
|
+
|
41
|
+
if(player.is_playing()):
|
42
|
+
|
43
|
+
# 流していれば停止させる
|
44
|
+
|
45
|
+
player.stop()
|
46
|
+
|
47
|
+
await voice.move_to(message.author.voice_channel)
|
48
|
+
|
49
|
+
player = await voice.create_ytdl_player('https://www.youtube.com/watch?v=ZiAOvG82xN4')
|
50
|
+
|
51
|
+
player.start()
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
動かしてはいないので、間違っているかもしれません。
|
56
|
+
|
57
|
+
---
|
58
|
+
|
1
59
|
いくつか間違いがあるので訂正をさせていただきますね。
|
2
60
|
|
3
61
|
|