- client.on("message", async msg => {
- if (!msg.content.startsWith(prefix)) return undefined;
- if (msg.author.bot) return undefined;
- const args = msg.content.split(' ');
- const searchString = args.slice(1).join(' ');
- console.log(searchString);
- const serverQueue = queue.get(msg.guild.id);
- if (msg.content.startsWith(prefix + 'play')) {
- const url = args[0] ? args[0].replace(/<.+>/, '$1') : '';
- const voiceChannel = msg.member.voiceChannel;
- if (!voiceChannel) return msg.channel.send("mortal metete a un canal de voz.");
- const permissions = voiceChannel.permissionsFor(msg.client.user);
- if (!permissions.has('CONNECT')) {
- return msg.channel.send('no me puedo conectar al canal de voz :]');
- }
- if (!permissions.has('SPEAK')) {
- return msg.channel.send('no me puedo conectar');
- }
- if (url.match(/^https?:\/\/(www.youtube.com | youtube.com)\/playlist(.*)$/)) {
- const playlist = await youtube.getPlaylist(url);
- const videos = await playlist.getVideos();
- for (const video of Object.values(videos)) {
- const video2 = await youtube.getVideoByID(video.id);
- await handleVideo(video2, msg, voiceChannel);
- }
- return msg.Channel.send('playlist:' + playlist.title + "la he agregado para tu diversion");
- }
- else {
- try {
- var video = await youtube.getVideo(url);
- } catch (error) {
- try {
- var videos = await youtube.searchVideos(searchString, 10);
- let index = 1
- msg.channel.send(' **cancion a elegir **\n' + (videos.map(video2 => '****' + (++index) + video2.title).join('\n')) + '\nporfavor dame un numero de cancion 1-10');
- try {
- var response = await msg.channel.awaitMessages(msg2 => msg2.content > 0 && msg2.content < 10 , {
- maxMatches: 1,
- time: 100000,
- errors: ['time']
- });
- } catch (err) {
- console.error(err);
- return msg.channel.send('No me diste un valor valido pero te hare un favor pero no creas que lo ago por ti solo vuelve a ingresar, cancelado selecion');
- }
- const videoIndex = parseInt(response.first().content);
- var video = await youtube.getVideoByID(videos[videoIndex - 1].id);
- }
- catch (err) {
- console.error(error);
- return msg.channel.send("no pude obtener los resultados de busqueda");
- }
- return handleVideo(video, msg, voiceChannel, true);
- }
- }
- }
- else if (msg.content.startsWith(prefix + 'skip')) {
- if (!msg.member.voiceChannel) return msg.channel.send("no estas en un canal de voz");
- if (!serverQueue) return msg.channel.send("no hay nada tocando que pueda saltar");
- serverQueue.connection.dispatcher.end('saltar la cancion ha sido usado');
- return undefined;
- }
- else if (msg.content.startsWith(prefix + 'stop')) {
- if (!msg.member.voiceChannel) return msg.channel.send("no estas en un canal de voz");
- if (!serverQueue) return msg.channel.send("no hay nada tocando que pueda parar");
- serverQueue.songs = [];
- serverQueue.connection.dispatcher.end('has sido usado el stop');
- return undefined;
- }
- else if (msg.content.startsWith(prefix + 'volumen')) {
- if (!serverQueue) return msg.channel.send("no hay nada tocando ");
- if (!args[1]) return msg.channel.send('el volomen de ahorita es :' + serverQueue.volume);
- serverQueue.volume = args[1];
- serverQueue.connection.dispatcher.setVolumeLogarithmic(args[1] / 5);
- return msg.channel.send("cambie el volumen agradecemelo se encuentra en :" + args[1]);
- }
- else if (msg.content.startsWith(prefix + 'np')) {
- if (!serverQueue) return msg.channel.send("no hay nada tocando ");
- return msg.channel.send("tocando ahora:" + serverQueue.songs[0].title);
- }
- else if (msg.content.startsWith(prefix + 'queue')) {
- if (!serverQueue) return msg.channel.send("no hay nada tocando ");
- return msg.channel.send(' **song queue **' + (serverQueue.songs.map(song => '**_**' + song.title).join('\n') + 'now playing' + serverQueue.songs[0].title));
- }
- else if (msg.content.startsWith(prefix + 'pausa')) {
- if (serverQueue && serverQueue.playing) {
- serverQueue.playing = false;
- serverQueue.connection.dispatcher.pause();
- return msg.channel.send("pause la musica no es que lo haga por ti hee");
- }
- return msg.channel.send("no hay nada tocando");
- }
- else if (msg.content.startsWith(prefix + 'resumir')) {
- if (serverQueue && !serverQueue.playing) {
- serverQueue.playing = true;
- serverQueue.connection.dispatcher.resume();
- return msg.channel.send("le di un replay no tienes que agradecerlo");
- }
- return msg.channel.send("no hay nada tocando");
- }
- return undefined;
- });
- async function handleVideo(video, msg, voiceChannel, playlist = false) {
- const serverQueue = queue.get(msg.guild.id)
- console.log(video);
- const song = {
- id: video.id,
- title: Util.escapeMarkdown(video.title),
- url: 'https://www.youtube.com/watch?v=' + video.id
- };
- if (!serverQueue) {
- const queueConstruct = {
- textChannel: msg.channel,
- voiceChannel: voiceChannel,
- connection: null,
- songs: [],
- volume: 5,
- playing: true
- };
- queue.set(msg.guild.id, queueConstruct);
- queueConstruct.songs.push(song);
- try {
- var connection = await voiceChannel.join();
- queueConstruct.connection = connection;
- play(msg.guild, queueConstruct.songs[0]);
- }
- catch (error) {
- console.error('no me puedo unir al canal de voz${error}');
- queue.delete(msg.guild.id);
- return msg.channel.send('no me puedo unir al canal de voz: ${error}');
- }
- }
- else {
- serverQueue.songs.push(song);
- console.log(serverQueue.songs);
- if (playlist) return undefined;
- return msg.channel.send(song.title + ' he obligado a la cancion a ponerse en la fila')
- }
- return undefined;
- }
- function play(guild, song) {
- const serverQueue = queue.get(guild.id)
- if (!song) {
- serverQueue.voiceChannel.leave();
- queue.delete(guild.id);
- return ;
- }
- console.log(serverQueue.songs);
- const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
- .on('end', reason => {
- if (reason === 'Stream is not generating quickly enough.') console.log('Song ended.');
- else console.log(reason);
- serverQueue.songs.shift();
- play(guild, serverQueue.songs[1]);
- })
- .on('error', error => console.error(error));
- dispatcher.setVolumeLogarithmic(serverQueue.volume / 10);
- serverQueue.textChannel.send('tocando ahora :' + song.title);
- }
[text] discord music bot
Viewer
*** This page was generated with the meta tag "noindex, nofollow". This happened because you selected this option before saving or the system detected it as spam. This means that this page will never get into the search engines and the search bot will not crawl it. There is nothing to worry about, you can still share it with anyone.
Editor
You can edit this paste and save as new: