tobby48 4 年前
父节点
当前提交
0466b3eed5

+ 6
- 4
src/main/java/kr/co/swh/lecture/opensource/project/discode/music/PlayerManager.java 查看文件

1
 package kr.co.swh.lecture.opensource.project.discode.music; 
1
 package kr.co.swh.lecture.opensource.project.discode.music; 
2
 
2
 
3
-import org.apache.log4j.Logger;
3
+import java.util.HashMap;
4
+import java.util.Map;
5
+
4
 import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler;
6
 import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler;
5
 import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
7
 import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
6
 import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager;
8
 import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager;
8
 import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
10
 import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
9
 import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
11
 import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
10
 import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
12
 import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
13
+
11
 import net.dv8tion.jda.api.entities.Guild;
14
 import net.dv8tion.jda.api.entities.Guild;
12
 import net.dv8tion.jda.api.entities.TextChannel;
15
 import net.dv8tion.jda.api.entities.TextChannel;
13
 
16
 
14
-import java.util.HashMap;
15
-import java.util.Map;
16
-
17
 /**
17
 /**
18
  * <pre>
18
  * <pre>
19
  * kr.co.swh.lecture.opensource.project.discode.music 
19
  * kr.co.swh.lecture.opensource.project.discode.music 
62
             @Override
62
             @Override
63
             public void trackLoaded(AudioTrack track) {
63
             public void trackLoaded(AudioTrack track) {
64
 //                Main.sendMessage(Main.channel, prefix + "次の音楽を再生します:" + track.getInfo());
64
 //                Main.sendMessage(Main.channel, prefix + "次の音楽を再生します:" + track.getInfo());
65
+//            	channel.sendMessage(Main.channel, prefix + "次の音楽を再生します:" + track.getInfo());
66
+
65
                 play(musicManager,track);
67
                 play(musicManager,track);
66
             }
68
             }
67
 
69
 

src/main/java/kr/co/swh/lecture/opensource/project/discode/music/LayoutBot.java → src/main/java/kr/co/swh/lecture/opensource/project/discode/music/YoutubeMusicBot.java 查看文件

6
 import net.dv8tion.jda.api.JDABuilder;
6
 import net.dv8tion.jda.api.JDABuilder;
7
 
7
 
8
 
8
 
9
-public class LayoutBot {
9
+public class YoutubeMusicBot {
10
 	
10
 	
11
 	public void play() throws LoginException, InterruptedException {
11
 	public void play() throws LoginException, InterruptedException {
12
 		// Note: It is important to register your ReadyListener before building
12
 		// Note: It is important to register your ReadyListener before building
13
         JDA jda = JDABuilder.createDefault("NjYzMjgzODYxMTUyNTk1OTkz.XhGROw.Ps3JJIKlEXoE1eah_5OKHwViThY")
13
         JDA jda = JDABuilder.createDefault("NjYzMjgzODYxMTUyNTk1OTkz.XhGROw.Ps3JJIKlEXoE1eah_5OKHwViThY")
14
-            .addEventListeners(new LayoutListener())
14
+            .addEventListeners(new YoutubeMusicListener())
15
             .build();
15
             .build();
16
 
16
 
17
         // optionally block until JDA is ready
17
         // optionally block until JDA is ready
19
 	}
19
 	}
20
 	public static void main(String[] args) throws LoginException, InterruptedException {
20
 	public static void main(String[] args) throws LoginException, InterruptedException {
21
 		// TODO Auto-generated method stub
21
 		// TODO Auto-generated method stub
22
-		LayoutBot bot = new LayoutBot();
22
+		YoutubeMusicBot bot = new YoutubeMusicBot();
23
 		bot.play();
23
 		bot.play();
24
 	}
24
 	}
25
 	
25
 	

src/main/java/kr/co/swh/lecture/opensource/project/discode/music/LayoutListener.java → src/main/java/kr/co/swh/lecture/opensource/project/discode/music/YoutubeMusicListener.java 查看文件

1
 package kr.co.swh.lecture.opensource.project.discode.music;
1
 package kr.co.swh.lecture.opensource.project.discode.music;
2
 
2
 
3
-import java.awt.Color;
4
-import java.nio.ByteBuffer;
5
 import java.util.ArrayList;
3
 import java.util.ArrayList;
6
 
4
 
7
 import kr.co.swh.lecture.opensource.project.youtube.Youtube;
5
 import kr.co.swh.lecture.opensource.project.youtube.Youtube;
8
 import net.dv8tion.jda.api.EmbedBuilder;
6
 import net.dv8tion.jda.api.EmbedBuilder;
9
 import net.dv8tion.jda.api.Permission;
7
 import net.dv8tion.jda.api.Permission;
10
 import net.dv8tion.jda.api.entities.Message;
8
 import net.dv8tion.jda.api.entities.Message;
9
+import net.dv8tion.jda.api.entities.MessageEmbed;
11
 import net.dv8tion.jda.api.entities.TextChannel;
10
 import net.dv8tion.jda.api.entities.TextChannel;
12
 import net.dv8tion.jda.api.entities.User;
11
 import net.dv8tion.jda.api.entities.User;
13
 import net.dv8tion.jda.api.entities.VoiceChannel;
12
 import net.dv8tion.jda.api.entities.VoiceChannel;
16
 import net.dv8tion.jda.api.hooks.ListenerAdapter;
15
 import net.dv8tion.jda.api.hooks.ListenerAdapter;
17
 import net.dv8tion.jda.api.managers.AudioManager;
16
 import net.dv8tion.jda.api.managers.AudioManager;
18
 
17
 
19
-public class LayoutListener extends ListenerAdapter{
18
+public class YoutubeMusicListener extends ListenerAdapter{
20
 
19
 
21
 	@Override
20
 	@Override
22
 	public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
21
 	public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
86
 
85
 
87
 		String message = msg.getContentRaw();
86
 		String message = msg.getContentRaw();
88
 		if(message.substring(0, 3).equals("!l ")) {
87
 		if(message.substring(0, 3).equals("!l ")) {
88
+			AudioManager audioManager = event.getGuild().getAudioManager();
89
+			if(!audioManager.isConnected()) {
90
+				VoiceChannel connectedChannel = event.getMember().getVoiceState().getChannel();
91
+				audioManager.openAudioConnection(connectedChannel);
92
+			}
89
 			String title = message.substring(3);
93
 			String title = message.substring(3);
90
 			
94
 			
91
 			Youtube y = new Youtube();
95
 			Youtube y = new Youtube();
92
 			ArrayList<String> arr = y.audio(title);
96
 			ArrayList<String> arr = y.audio(title);
93
 			
97
 			
98
+			MessageEmbed embed = new EmbedBuilder()
99
+                    .setDescription(arr.get(0))
100
+                    .setTitle(title)
101
+                    .setFooter("swhacademy", null).build();
102
+        	
103
+			tc.sendMessage(title).queue(response -> {
104
+				response.editMessage(embed).queue();
105
+			});;
106
+			
94
 			PlayerManager Playermanager = PlayerManager.getINSTANCE();
107
 			PlayerManager Playermanager = PlayerManager.getINSTANCE();
95
 			Playermanager.loadAndPlay(tc, arr.get(0));
108
 			Playermanager.loadAndPlay(tc, arr.get(0));
96
 			Playermanager.getGuildMusicManager(tc.getGuild()).player.setVolume(10);
109
 			Playermanager.getGuildMusicManager(tc.getGuild()).player.setVolume(10);