JaBa/commands/General/activity.js
2021-12-25 16:34:46 +05:00

198 lines
No EOL
8 KiB
JavaScript

const Command = require("../../base/Command.js"),
Discord = require("discord.js");
class Activity extends Command {
constructor (client) {
super(client, {
name: "activity",
dirname: __dirname,
enabled: true,
guildOnly: true,
aliases: [],
memberPermissions: [],
botPermissions: [ "SEND_MESSAGES", "EMBED_LINKS" ],
nsfw: false,
ownerOnly: false,
cooldown: 3000
});
}
async run (message, args, data) {
const voice = message.member.voice.channel;
if (!voice) return message.error("music/play:NO_VOICE_CHANNEL");
const perms = voice.permissionsFor(this.client.user);
if (!perms.has("CONNECT") || !perms.has("SPEAK")) return message.error("music/play:VOICE_CHANNEL_CONNECT");
const activities = ["awkword", "betrayal", "checkers", "chess", "doodlecrew", "fishing", "lettertile", "poker", "spellcast", "wordsnack", "puttparty", "youtube"];
const activity = args[0] != null ? args[0].toLowerCase() : null;
switch (activity) {
case "awkword":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "awkword").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Awkword")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Awkword", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "betrayal":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "betrayal").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Betrayal.io")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Betrayal.io", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "checkers":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "checkers").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Checkers In The Park")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Checkers In The Park", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "chess":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "chess").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Chess In The Park")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Chess In The Park", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "doodlecrew":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "doodlecrew").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Doodle Crew")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Doodle Crew", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "fishing":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "fishing").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Fishington.io")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Fishington.io", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "lettertile":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "lettertile").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Letter Tile")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Letter Tile", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "poker":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "poker").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Poker Night")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Poker Night", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "spellcast":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "spellcast").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Spell Cast")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Spell Cast", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "wordsnack":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "wordsnack").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Words Snack")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Words Snack", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "puttparty":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "puttparty").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Puttparty")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Puttparty", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "youtube":
this.client.discordTogether.createTogetherCode(message.member.voice.channelID, "youtube").then(async invite => {
const embed = new Discord.MessageEmbed()
.setTitle("Youtube Together")
.setColor(data.config.embed.color)
.setDescription(`**[${message.translate("misc:CLICK_HERE", { activity: "Youtube Together", channel: voice.name })}](${invite.code})**`)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
return message.channel.send(embed);
});
break;
case "list":
const embed = new Discord.MessageEmbed()
.setTitle(message.translate("general/activity:TITLE"))
.setDescription(activities.join("\n"))
.setColor(data.config.embed.color)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
message.channel.send(embed);
break;
default:
const embed = new Discord.MessageEmbed()
.setTitle(message.translate("general/activity:TITLE"))
.setDescription(activities.join("\n"))
.setColor(data.config.embed.color)
.setFooter(message.translate("general/activity:FOOTER"))
.setTimestamp()
message.channel.send(embed);
break;
};
}
};
module.exports = Activity;