Skip to content

Commit

Permalink
added javascript standard style (#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
NikithShetty authored and shubham399 committed Oct 21, 2019
1 parent f1484b9 commit 8f7318b
Show file tree
Hide file tree
Showing 22 changed files with 2,319 additions and 715 deletions.
193 changes: 94 additions & 99 deletions bot.js
Original file line number Diff line number Diff line change
@@ -1,137 +1,132 @@
const token = process.env.DISCORD_TOKEN;
const botTriggerCommand = process.env.BOT_TRIGGER_COMMAND;
const Discord = require("discord.js");
const client = new Discord.Client();
const logger = require("./log.js").logger
const constant = require("./constant.js")
const sendHelp = require("./commands/help").sendHelp
'use strict'
const token = process.env.DISCORD_TOKEN
const botTriggerCommand = process.env.BOT_TRIGGER_COMMAND
const Discord = require('discord.js')
const client = new Discord.Client()
const logger = require('./log.js').logger
const constant = require('./constant.js')
const sendHelp = require('./commands/help').sendHelp
const sendActionLog = require('./helper/actionLog.js').sendActionLog
const fs = require("fs");
const swearjar = require('swearjar');
const R = require('ramda');
const alexID = process.env.ALEX_ID;
function exitHandler(options) {
const fs = require('fs')
const swearjar = require('swearjar')
const R = require('ramda')
const alexID = process.env.ALEX_ID
function exitHandler (options) {
// const nclient = new Discord.Client();
// nclient.login(token);
try{
logger.info("Cleaning and Exiting");
if (process.env.NODE_ENV == "production") {
client.user.setActivity(`${botTriggerCommand} is unavailable`, {
type: 'Playing'
})
client.user.setStatus("offline").then(res => {
logger.info("Status Changed", res)
process.exit();
}).catch(err => {
logger.error("Cleanup Error", err)
})
}
else {
process.exit();
try {
logger.info('Cleaning and Exiting')
if (process.env.NODE_ENV === 'production') {
client.user.setActivity(`${botTriggerCommand} is unavailable`, {
type: 'Playing'
})
client.user.setStatus('offline').then(res => {
logger.info('Status Changed', res)
process.exit()
}).catch(err => {
logger.error('Cleanup Error', err)
})
} else {
process.exit()
}
} catch (e) {
logger.error(e)
process.exit()
}
}
catch(e){
logger.error(e);
process.exit();
}
}
//do something when app is closing
// do something when app is closing
// process.on('exit', exitHandler);
process.stdin.resume();
process.on('SIGTERM', exitHandler);
//catches ctrl+c event
process.on('SIGINT', exitHandler);

//catches uncaught exceptions
process.on('uncaughtException', exitHandler);
process.stdin.resume()
process.on('SIGTERM', exitHandler)
// catches ctrl+c event
process.on('SIGINT', exitHandler)

// catches uncaught exceptions
process.on('uncaughtException', exitHandler)


const Sentry = require('@sentry/node');
const Sentry = require('@sentry/node')
Sentry.init({
dsn: process.env.SENTRY_DSN
});
})

client.commands = new Discord.Collection();
client.config = new Discord.Collection();
fs.readdir("./commands/", (err, files) => {
client.commands = new Discord.Collection()
client.config = new Discord.Collection()
fs.readdir('./commands/', (err, files) => {
if (err) logger.error(err)
let jsfile = files.filter(f => f.split(".").pop() === "js")
const jsfile = files.filter(f => f.split('.').pop() === 'js')
if (jsfile.length <= 0) {
return logger.warn("[LOGS] Couldn't Find Commands!");
return logger.warn("[LOGS] Couldn't Find Commands!")
}
jsfile.forEach((f, i) => {
let pull = require(`./commands/${f}`);
client.commands.set(pull.config.name, pull);
client.config.set(pull.config.name, pull.config);
});
});
const pull = require(`./commands/${f}`)
client.commands.set(pull.config.name, pull)
client.config.set(pull.config.name, pull.config)
})
})

client.on("ready", () => {
logger.info(constant.botReady(botTriggerCommand))
if (process.env.NODE_ENV == "production") {
client.user.setStatus("online")
client.on('ready', () => {
logger.info(constant.botReady(botTriggerCommand))
if (process.env.NODE_ENV === 'production') {
client.user.setStatus('online')
client.user.setActivity(`${botTriggerCommand} usage`, {
type: 'Playing'
})
}
});
})

client.on("message", (message) => {
logger.verbose(message.content);
let isAlex = R.path(["member","id"],message) === alexID
if(swearjar.profane(message.content) && isAlex){
message.channel.send(`${message.member} Language`).then(m=>m.delete(3000));
message.channel.send(message.member+" said "+ swearjar.censor(message.content))
message.delete();
client.on('message', (message) => {
logger.verbose(message.content)
const isAlex = R.path(['member', 'id'], message) === alexID
if (swearjar.profane(message.content) && isAlex) {
message.channel.send(`${message.member} Language`).then(m => m.delete(3000))
message.channel.send(message.member + ' said ' + swearjar.censor(message.content))
message.delete()
}
let messageArray = message.content.split(" ").filter(x => x !== "");
if (messageArray.length == 0) return;
let trigger = messageArray[0].toLowerCase();
if (trigger !== botTriggerCommand) return;
logger.verbose(messageArray);
let cmd = messageArray.length > 1 ? messageArray[1].toLowerCase() : null;
logger.info(message.author.username + " is executing " + cmd);
if ((message.author.bot || message.channel.type === "dm") && !(cmd === "verify" || cmd === "non-htb")) return;
let args = messageArray.slice(2);
if (cmd == null) {
message.channel.send(constant.default(botTriggerCommand)).then(m => m.delete(2000));
return;
const messageArray = message.content.split(' ').filter(x => x !== '')
if (messageArray.length === 0) return
const trigger = messageArray[0].toLowerCase()
if (trigger !== botTriggerCommand) return
logger.verbose(messageArray)
const cmd = messageArray.length > 1 ? messageArray[1].toLowerCase() : null
logger.info(message.author.username + ' is executing ' + cmd)
if ((message.author.bot || message.channel.type === 'dm') && !(cmd === 'verify' || cmd === 'non-htb')) return
const args = messageArray.slice(2)
if (cmd === null) {
message.channel.send(constant.default(botTriggerCommand)).then(m => m.delete(2000))
return
}
let commandFile = client.commands.get(cmd);
const commandFile = client.commands.get(cmd)
if (commandFile) {
let config = client.config.get(cmd);
const config = client.config.get(cmd)
if (args.length < config.minargs) {
message.delete(2000)
message.channel.send("Usage: ```" + config.usage + "```").then(m => m.delete(2000))
message.channel.send('Usage: ```' + config.usage + '```').then(m => m.delete(2000))
} else {
commandFile.run(client, message, args);
commandFile.run(client, message, args)
}
} else {
message.channel.send("Invalid command.").then(m => m.delete(2000))
message.channel.send('Invalid command.').then(m => m.delete(2000))
}
})
// Start and login the bot
client.on('guildMemberAdd', member => {
logger.info(member.displayName + " joined the server.")
let embed = new Discord.RichEmbed()
.setColor("#5780cd")
.setTitle("Member Joined.")
logger.info(member.displayName + ' joined the server.')
const embed = new Discord.RichEmbed()
.setColor('#5780cd')
.setTitle('Member Joined.')
.setDescription(`${member} joined the server`)
sendActionLog(client,embed)
member.send("Welcome to the server!");
sendHelp(member, client.channels.find(channel => channel.name === "bot-spam"))

});
sendActionLog(client, embed)
member.send('Welcome to the server!')
sendHelp(member, client.channels.find(channel => channel.name === 'bot-spam'))
})

client.on('guildMemberRemove', member => {
logger.info(member.displayName + " left the server.")
let embed = new Discord.RichEmbed()
.setColor("#F14517")
.setTitle("Member Left.")
logger.info(member.displayName + ' left the server.')
const embed = new Discord.RichEmbed()
.setColor('#F14517')
.setTitle('Member Left.')
.setDescription(`${member} left the server.`)
sendActionLog(client,embed)

});
sendActionLog(client, embed)
})

client.login(token);
client.login(token)
68 changes: 31 additions & 37 deletions commands/ban.js
Original file line number Diff line number Diff line change
@@ -1,52 +1,46 @@
const logger = require("../log.js").logger
const axios = require("axios");
const R = require('ramda');
const Discord = require("discord.js");
const constant = require("../constant.js");
const async = require('asyncawait/async');
const await = require('asyncawait/await');
const profilePostChannel = process.env.PROFILE_CHANNEL;
const assignRole = process.env.ASSIGN_ROLE;
const actionLog = process.env.ACTION_LOG || "action-log";
const botTriggerCommand = process.env.BOT_TRIGGER_COMMAND;
'use strict'
const logger = require('../log.js').logger
const Discord = require('discord.js')
const actionLog = process.env.ACTION_LOG || 'action-log'
const botTriggerCommand = process.env.BOT_TRIGGER_COMMAND

module.exports.run = async (bot, message, args) => {
message.delete(2000);
if (!message.member.hasPermission(["BAN_MEMBERS"])) return message.channel.send("You do not have permission to perform this command!")
let banMember = message.mentions.members.first() || message.guild.members.get(args[0])
if (!banMember) return message.channel.send("Please provide a user to ban!")
let reason = args.slice(1).join(" ");
if (!reason) reason = "No reason given!"
logger.verbose("Ban Reason" + reason);
if (banMember.id === message.author.id) return message.channel.send('You can\'t ban yourself').then(m => m.delete(5000)); // Check if the user mention or the entered userID is the message author himsmelf
if (!message.guild.member(banMember).bannable) return message.reply(`You can\'t ban this user. because ${botTriggerCommand} doesnot have sufficient permissions!`).then(m => m.delete(5000)); // Check if the user is bannable with the bot's permissions
if (!message.guild.me.hasPermission(["BAN_MEMBERS"])) return message.channel.send("I dont have permission to perform this command").then(m => m.delete(5000))
let embed = new Discord.RichEmbed()
.setColor("#bc0000")
message.delete(2000)
if (!message.member.hasPermission(['BAN_MEMBERS'])) return message.channel.send('You do not have permission to perform this command!')
const banMember = message.mentions.members.first() || message.guild.members.get(args[0])
if (!banMember) return message.channel.send('Please provide a user to ban!')
let reason = args.slice(1).join(' ')
if (!reason) reason = 'No reason given!'
logger.verbose('Ban Reason' + reason)
if (banMember.id === message.author.id) return message.channel.send('You can\'t ban yourself').then(m => m.delete(5000)) // Check if the user mention or the entered userID is the message author himsmelf
if (!message.guild.member(banMember).bannable) return message.reply(`You can't ban this user. because ${botTriggerCommand} doesnot have sufficient permissions!`).then(m => m.delete(5000)) // Check if the user is bannable with the bot's permissions
if (!message.guild.me.hasPermission(['BAN_MEMBERS'])) return message.channel.send('I dont have permission to perform this command').then(m => m.delete(5000))
const embed = new Discord.RichEmbed()
.setColor('#bc0000')
.setAuthor(`${message.guild.name} Modlogs`, message.guild.iconURL)
.addField("Moderation:", "ban")
.addField("Moderator:", message.author.username)
.addField("User: ", banMember.displayName)
.addField("Reason:", reason)
.addField("Date:", message.createdAt.toLocaleString())
let sChannel = message.guild.channels.find(c => c.name === actionLog)
.addField('Moderation:', 'ban')
.addField('Moderator:', message.author.username)
.addField('User: ', banMember.displayName)
.addField('Reason:', reason)
.addField('Date:', message.createdAt.toLocaleString())
const sChannel = message.guild.channels.find(c => c.name === actionLog)
banMember.send(`Hello, you have been banned from ${message.guild.name} for: ${reason}`).then(() =>
message.guild.ban(banMember, {
days: 1,
reason: reason
})).then(msg =>{
message.channel.send(`**${banMember.user.tag}** has been banned`).then(m => m.delete(5000))
sChannel.send(embed)
}).catch(err =>{
})).then(msg => {
message.channel.send(`**${banMember.user.tag}** has been banned`).then(m => m.delete(5000))
sChannel.send(embed)
}).catch(err => {
logger.error(err)
message.channel.send(`Unable to ban **${banMember.user.tag}**`).then(m => m.delete(5000))
message.channel.send(`Unable to ban **${banMember.user.tag}**`).then(m => m.delete(5000))
})
}

module.exports.config = {
name: "ban",
description: "Bans a user from the guild!",
name: 'ban',
description: 'Bans a user from the guild!',
usage: `${botTriggerCommand} ban <username> <Reason(options)>`,
minargs: 1,
minPermission: "BAN_MEMBERS"
minPermission: 'BAN_MEMBERS'
}
Loading

0 comments on commit 8f7318b

Please sign in to comment.