Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require("discord.js");
- const client = new Discord.Client();
- const YTDL = require("ytdl-core");
- const fs = require("fs");
- const config = require("./config.json");
- const prefix = config.prefix;
- let saycommandusage = [];
- var buylist = [];
- var servers = {};
- function verify(id){
- for(var i = 0;i<config.botAdminID;i++){
- if(id==config.botAdminID[i]){
- return true;
- }else{
- return false;
- }
- }
- }
- function makeAllChannel(msg){
- msg.guild.createChannel("welcome",'text');
- msg.guild.createChannel("index-dot-html", 'text')
- msg.guild.createChannel("rules-n-info", 'text')
- msg.guild.createChannel("announcements", 'text')
- msg.guild.createChannel("chat", 'text')
- msg.guild.createChannel("help", 'text')
- msg.guild.createChannel("team-building", 'text')
- msg.guild.createChannel("song-requests", 'text')
- msg.guild.createChannel("bot-commands", 'text')
- msg.guild.createChannel("music", 'voice')
- msg.guild.createChannel("memes", 'text')
- }
- function reactH(message){
- return message.reactions;
- }
- function play(connection,message){
- try {
- var server = servers[message.guild.id];
- var songInfo = YTDL.getInfo(server.queue[0]);
- var song = {
- title: songInfo.title,
- url: songInfo.video_url,
- };
- console.log(songInfo)
- server.dispatcher = connection.playStream(YTDL(server.queue[0],{filter:"audioonly"}));
- server.queue.shift();
- server.dispatcher.on("end", function(){
- if(server.queue[0]) play(connection,message);else{
- connection.disconnect();
- message.channel.send("song ended");
- }
- });
- }
- catch (err){
- message.channel.send("Make sure you are using a youtube url and the correct format. Try again.");
- var server = servers[message.guild.id];
- if(message.guild.voiceConnection) message.guild.voiceConnection.disconnect();
- message.channel.send("stopping music...");
- server.queue=[];
- }
- }
- client.on("ready", () => {``
- client.user.setActivity(` on ${client.guilds.size} servers. (prefix:"`+config.prefix+`")`);
- console.log(`Ready to serve on ${client.guilds.size} servers, for ${client.users.size} users.`);
- });
- client.on("guildMemberAdd", (member) => {
- try{
- console.log(`New User "${member.user.username}" has joined "${member.guild.name}"` );
- member.guild.channels.find(c => c.name === "welcome").send(`"${member.user.username}" has joined this server`);
- }
- catch(err){
- console.log("missing welcome chat")
- }
- });
- /*
- client.on("guildCreate", guild =>{
- var msg = member.guild.channels.get("general").send(`hello! react with :white_check_mark: or :x: to set up hackathon discord.`);
- msg.react(':white_check_mark:').then(()=> message.react(':x:'));
- var modConf = true;
- while(modConf){
- var rAr = setTimeout(reactH(msg), 1000);
- var rAr = rAr.array()
- for(i in rAr){
- if (typeof i == "MessageReaction" && (i.name=="white_check_mark" || i.name=="x")){
- for(j in i.users){
- }
- }
- }
- }
- })
- */
- client.on("message", (message) => {
- if (!message.content.startsWith(prefix) || message.author.bot) return;
- const args = message.content.slice(prefix.length).trim().split(/ +/g);
- const command = args.shift().toLowerCase();
- if(command==="play"){
- if(!args[0]){
- message.channel.send("Please specify what you want played.");
- }else{
- if(!message.member.voiceChannel){
- message.channel.send("Please join a voice channel for music to play");
- }else{
- if(!servers[message.guild.id]) servers[message.guild.id]={
- queue :[]
- };
- var server = servers[message.guild.id];
- server.queue.push(args[0]);
- if(!message.guild.voiceConnection) message.member.voiceChannel.join().then(function(connection){
- message.channel.send("Playing...");
- play(connection,message)
- });
- }
- }
- }
- if(command==="skip"){
- var server = servers[message.guild.id];
- message.channel.send("Skipping...");
- if(server.dispatcher) server.dispatcher.end();
- }
- if(command==="stop"){
- var server = servers[message.guild.id];
- if(message.guild.voiceConnection) message.guild.voiceConnection.disconnect();
- message.channel.send("music stopping...");
- }
- if(command==="crash"){
- if(message.author.id === config.botAdminID[0]){
- crash();
- }else{
- message.reply("you cant because you are not an owner");
- }
- }
- if(command==="clearChannel"||command==="purge"||command==="clear"){
- try{
- if(message.author.id === config.ownerID || message.channel.permissionsFor(message.author).has("MANAGE_MESSAGES")){
- if(args[0]==="all"){
- for(var i = 0;i<10;i++){
- message.channel.bulkDelete(99)
- }
- }else if(args[0]<100){
- message.channel.bulkDelete(args[0])
- .then(messages => message.channel.send(`Deleted ${messages.size} messages`))
- .catch( error => message.channel.send("cannot delete message over 14 days old.(or i dont have the perms)"))
- }else{
- message.channel.sendMessage("specify how much deleted and it must be less than 100 messages at a time");
- }
- }
- }
- catch(err){
- message.channel.sendMessage("likely missing permissions");
- }
- }
- if(command==="setup"){
- if(!args[0]){
- message.reply("specify which setup part you want");
- }else{
- if(args[0]==="all"){
- makeAllChannel(message)
- message.reply("done! text channels and voice channels created!");
- }
- }
- }
- if(command==="alert"){
- if(!args[0] || !args[1] || !args[2]){
- message.reply("usage: alert [name of hackathon] [hackathon region] [hackathon date]");
- }else{
- message.reply("are you sure you want to post "+args[0]+" for the "+args[1]+" on "+args[2]+"?");
- }
- }
- if(command==="createchannel"){
- if(args[0]){
- message.guild.createChannel(args[0], 'text')
- message.reply("done! text channel "+args[0]+" created!");
- }
- }
- });
- client.login(config.token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement