Files
discord.js/test/voice.js
2017-10-29 13:19:38 +00:00

79 lines
2.4 KiB
JavaScript

/* eslint no-console: 0 */
'use strict';
var profiler = require('gc-profiler');
profiler.on('gc', function (info) {
console.log(info);
});
const Discord = require('../');
const ytdl = require('ytdl-core');
const prism = require('prism-media');
const fs = require('fs');
const client = new Discord.Client({ fetchAllMembers: false, apiRequestMethod: 'sequential' });
const auth = require('./auth.js');
client.login(auth.token).then(() => console.log('logged')).catch(console.error);
const connections = new Map();
var d, b;
client.on('debug', console.log);
client.on('error', console.log);
async function wait(time = 1000) {
return new Promise(resolve => {
setTimeout(resolve, time);
});
}
var count = 0;
client.on('ready', async () => {
for (const guild of client.guilds.values()) {
const channels = guild.channels.filter(c => c.type === 'voice' && c.joinable && c.members.size === 0);
const channel = channels.first();
if (channel) {
channel.join().then(conn => {
conn.playOpusStream(fs.createReadStream('C:/users/amish/downloads/z.ogg').pipe(new prism.OggOpusDemuxer()));
});
count++;
console.log(`Playing in ${channel.name} in ${channel.guild.name} at count ${count} ${process.memoryUsage().rss / (1024 * 1024)}`);
await wait();
}
}
console.log('done!');
});
process.on('unhandledRejection', console.log);
client.on('message', m => {
if (!m.guild) return;
if (m.author.id !== '66564597481480192') return;
if (m.content.startsWith('/join')) {
const channel = m.guild.channels.get(m.content.split(' ')[1]) || m.member.voiceChannel;
if (channel && channel.type === 'voice') {
channel.join().then(conn => {
conn.player.on('error', (...e) => console.log('player', ...e));
if (!connections.has(m.guild.id)) connections.set(m.guild.id, { conn, queue: [] });
m.reply('ok!');
// conn.playOpusStream(fs.createReadStream('C:/users/amish/downloads/z.ogg').pipe(new prism.OggOpusDemuxer()));
d = conn.playStream(ytdl('https://www.youtube.com/watch?v=_XXOSf0s2nk', { filter: 'audioonly' }, { passes: 3 }));
});
} else {
m.reply('Specify a voice channel!');
}
} else if (m.content.startsWith('#eval') && m.author.id === '66564597481480192') {
try {
const com = eval(m.content.split(' ').slice(1).join(' '));
m.channel.send(com, { code: true });
} catch (e) {
console.log(e);
m.channel.send(e, { code: true });
}
}
});