-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added javascript standard style (#11)
- Loading branch information
1 parent
f1484b9
commit 8f7318b
Showing
22 changed files
with
2,319 additions
and
715 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' | ||
} |
Oops, something went wrong.