Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ERROR MESSAGE USAGE: ':warning: **Usage**: `' + settings.prefix + 'prefix [new prefix]`'
- ERROR MESSAGE PERMISSIONS: ':warning: **Requires Permission(s)**: `MANAGE_SERVER`'
- ERROR MESSAGE WIP:
- if(message.member.id !== '165871269034590208'){
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Work In Progress',
- description: 'Unfortunately, I cannot do this command for you as it\'s work-in-progress and it may crash the bot.'
- }});
- } else {
- //do the command
- }
- */
- const Discord = require('discord.js');
- const client = new Discord.Client();
- //SETTINGS
- var settings = {
- prefix:'!',
- deleteCommand:true,
- embedColor:0x018DEF,
- leaveJoinMsg:true
- };
- var args;
- var ytdl = require('ytdl-core')
- var yu = require('youtube-url')
- function cmd(cmdn){
- return args && args[0] === settings.prefix + cmdn
- }
- function msgcontain(word){
- return args.indexOf(word)+1 > 0
- }
- client.on('ready', () => {
- console.log(client.user.tag + ' is online!');
- console.log('Prefix is ' + settings.prefix);
- client.user.setGame(client.user.username + " | " + settings.prefix + "help");
- //JOIN MUSIC CHANNEL ON START BELOW
- let channel = client.channels.get('337671179945115650');
- channel.join()
- .then(connection => console.log('Successfully connected to voice channel!'))
- .catch(console.error);
- });
- client.on('message', message => {
- args = message.content.toLowerCase().split(" ");
- if(message.author !== client.user){console.log(message.channel.name + ' - ' + message.author.tag + ': ' + message.content)};
- //COMMANDS BELOW
- if(cmd('c')){
- if(settings.deleteCommand){message.delete()};
- message.channel.send({embed: {
- color: settings.embedColor,
- description: ':white_check_mark: Functioning correctly!'
- }}).catch(console.error);
- }
- if(cmd('help')){
- if(settings.deleteCommand){message.delete()};
- message.channel.send({embed: {
- color: settings.embedColor,
- author: {
- name: client.user.username,
- icon_url: client.user.avatarURL
- },
- description: ':diamond_shape_with_a_dot_inside:',
- fields: [
- {
- name: 'Information',
- value: 'I am a bot made specifically for [Instance](https://discord.gg/bYn37Wp)\nI am a moderation bot\nI am programmed in discord.js by the user <@165871269034590208> from :flag_gb:\n\nTo get started, type `' + settings.prefix + 'cmds`!'
- }
- ],
- timestamp: new Date(),
- footer: {
- icon_url: 'http://i.imgur.com/YQpNdE1.png',
- text: 'yperz'
- }
- }});
- }
- if(cmd('cmds')){
- if(settings.deleteCommand){message.delete()};
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Commands',
- description: 'c, help, cmds, settings, prefix, sweep, invite, lp, silence(WIP), music(WIP)'
- }});
- }
- if(cmd('settings')){
- if(settings.deleteCommand){message.delete()}
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Settings',
- description: '**Prefix**: `' + settings.prefix + '`\n**Delete Command**: `' + settings.deleteCommand + '`\n**Embed Color** HEX: `0x' + settings.embedColor + '`\n**Leave and Join Messages**: `' + settings.leaveJoinMsg + '`'
- }});
- }
- if(cmd('prefix')){
- if(settings.deleteCommand){message.delete()}
- if(!args[1]){
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Prefix Usage',
- description: ':warning: **Usage**: `' + settings.prefix + 'prefix [new prefix]`',
- fields:
- [
- {
- name: 'Information',
- value: 'This command changes the prefix\nThe arguement `new prefix` should only be one word (words defined by spaces)'
- },
- ]
- }});
- } else {
- if(!args[2]){
- if(message.member.hasPermission('MANAGE_SERVER')){
- settings.prefix = args.splice(1).join(" ");
- message.channel.send({embed: {
- color: settings.embedColor,
- description: 'Prefix is now set to `' + settings.prefix + '`'
- }});
- } else {
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Prefix Permissions',
- description: ':warning: **Requires Permission(s)**: `MANAGE_SERVER`'
- }});
- }
- } else {
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Prefix Usage',
- description: ':warning: **Usage**: `' + settings.prefix + 'prefix [new prefix]`',
- fields:
- [
- {
- name: 'Information',
- value: 'This command changes the prefix\nThe arguement `new prefix` should only be one word (words defined by spaces)'
- },
- ]
- }});
- }
- }
- }
- if(cmd('sweep')){
- if(settings.deleteCommand){message.delete()}
- var messages = message.channel.fetchMessages({
- limit: args[1] || 100}).then(function (m) {
- var a1 = 0;
- m.forEach(function (value, key, mapObj) {
- if (value.author.id == client.user.id || value.content.indexOf(settings.prefix) == 0) {
- value.delete();
- a1++;
- }
- });
- message.channel.send({embed: {
- color: embedColor,
- description: ':recycle: Sweeped up ' + a1 + ' messages!'
- }}).then(function (m) {
- setTimeout(function () {
- m.delete();
- }, 3000);
- }).catch(function (e) {
- if (e) console.log(e);
- });
- });
- }
- if(cmd('invite')){
- if(settings.deleteCommand){message.delete()}
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Invite',
- description: ':heart:\nPlease help the growth and development of ' + message.guild.name + ' by sharing this [**invite link**](https://discord.gg/bYn37Wp)\nhttps://discord.gg/bYn37Wp'
- }});
- }
- if(cmd('lp')){
- if(settings.deleteCommand){message.delete()}
- if(!args[1]){
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'LP Usage',
- description: ':warning: **Usage**: `' + settings.prefix + 'lp [game]`',
- fields:
- [
- {
- name: 'Information',
- value: 'This command tells everyone that you want to play a game\nThe arguement `game` can be multiple lines'
- }
- ]
- }});
- } else {
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Play a Game',
- description: ':bell: @here , ' + message.author + ' wants to play **' + args.splice(1).join(" ") + '**!'
- }});
- }
- }
- if(cmd('silence')){
- if(settings.deleteCommand){message.delete()}
- if(!args[1] || !args[2] || !args[3]){
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Silence Usage',
- description: ':warning: **Usage**: `' + settings.prefix + 'silence [user] [time(sec)] [reason]`',
- fields:
- [
- {
- name: 'Information',
- value: 'This command silences people so they cant talk\n[user] arguement should be in this format: ' + client.user + '\n[time] arguement should be in seconds\n[reason] arguement can be multiple lines'
- }
- ]
- }});
- } else {
- var role = '337626002844942337';
- let member = args[1];
- member.addRole(message.guild.roles.find('id', role))
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'User Silenced',
- description: '**User**: ' + args[1] + ' has been silenced'
- }});
- }
- }
- if(cmd('music')){
- if(settings.deleteCommand){message.delete()}
- if(!args[1]){
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Music Usage',
- description: ':warning: **Usage**: `' + settings.prefix + 'music [command]`',
- fields:
- [
- {
- name: 'Information',
- value: 'This command is to play music\nThe arguement [command] can be one of the options in Options below'
- },
- {
- name: 'Options',
- value: 'play'
- }
- ]
- }});
- } else {
- if(args[1] === 'play')
- if(!args[2]){
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Music Play Usage',
- description: ':warning: **Usage**: `' + settings.prefix + 'music play [song]`',
- fields:
- [
- {
- name: 'Information',
- value: 'This command is to play music\nThe arguement [song] can should be a song **name**'
- }
- ]
- }});
- } else {
- if(yu.valid(args[2])){
- client.channels.find('id', '337671179945115650').join().then(function (connection) {
- dispatcher = connection.playStream(ytdl(args[2], { filter: "audioonly" }), { seek: 0, volume:1 });
- }).catch(function (e) {
- console.log(e);
- });
- } else {
- message.channel.send({embed: {
- color: settings.embedColor,
- title: 'Invalid URL',
- description: ':warning: URL must be a [YouTube](https://www.youtube.com) link'
- }});
- }
- }
- }
- }
- });
- if(settings.leaveJoinMsg){
- client.on("guildMemberAdd", (member) => {
- client.channels.find("name", "general").send({embed: {
- color: settings.embedColor,
- description: ':smiley: Welcome to ' + member.guild + ', ' + member.user + '!'
- }});
- });
- client.on("guildMemberRemove", (member) => {
- client.channels.find("name", "general").send({embed: {
- color: settings.embedColor,
- description: ':frowning: Goodbye ' + member.user
- }});
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement