-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add eslint and prettier configs
- Loading branch information
Showing
15 changed files
with
4,528 additions
and
450 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 |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
"env": { | ||
"browser": true, | ||
"commonjs": true | ||
}, | ||
"extends": "airbnb-base/legacy", | ||
"parserOptions": { | ||
"ecmaVersion": 12 | ||
}, | ||
"rules": { | ||
"no-console" : "off", | ||
"no-underscore-dangle": "off" | ||
} | ||
} |
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 |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"printWidth": 70, | ||
"tabWidth": 4, | ||
"semi": true, | ||
"bracketSpacing": true, | ||
"arrowParens": "avoid" | ||
} |
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,88 +1,97 @@ | ||
const discord = require('discord.js'); | ||
const mongoose = require('mongoose'); | ||
"use strict"; | ||
|
||
const logUtilities = require('./commands/utility/logUtilities') | ||
const discord = require("discord.js"); | ||
const mongoose = require("mongoose"); | ||
|
||
const register = require('./commands/register') | ||
const setNicknames = require('./commands/setNicknames') | ||
const editOwnDotaNickname = require('./commands/editOwnDotaNickname') | ||
const canEditPermissionsSet = require('./commands/canEditPermissionsSet') | ||
const setUsersDotaNickname = require('./commands/setUsersDotaNickname') | ||
const getUsersDotaNickname = require('./commands/getUsersDotaNickname') | ||
const help = require('./commands/help') | ||
const logUtilities = require("./commands/utility/logUtilities"); | ||
|
||
const interval = require('./commands/utility/interval') | ||
const guildDelete = require('./commands/utility/guildDelete') | ||
const register = require("./commands/register"); | ||
const setNicknames = require("./commands/setNicknames"); | ||
const editOwnDotaNickname = require("./commands/editOwnDotaNickname"); | ||
const canEditPermissionsSet = require("./commands/canEditPermissionsSet"); | ||
const setUsersDotaNickname = require("./commands/setUsersDotaNickname"); | ||
const getUsersDotaNickname = require("./commands/getUsersDotaNickname"); | ||
const help = require("./commands/help"); | ||
|
||
require('dotenv').config() | ||
const interval = require("./commands/utility/interval"); | ||
const guildDelete = require("./commands/utility/guildDelete"); | ||
|
||
const client = new discord.Client() | ||
client.login(process.env.BOT_TOKEN) | ||
.then(() => { | ||
console.log('Bot logged in') | ||
}) | ||
require("dotenv").config(); | ||
|
||
mongoose.connect(process.env.URI, { | ||
useNewUrlParser: true, | ||
useUnifiedTopology: true, | ||
useFindAndModify: false | ||
}, () => { | ||
console.log('MongoDB cluster connection established') | ||
}) | ||
const client = new discord.Client(); | ||
client.login(process.env.BOT_TOKEN).then(() => { | ||
console.log("Bot logged in"); | ||
}); | ||
|
||
const messageHandle = async (message) => { | ||
mongoose.connect( | ||
process.env.URI, | ||
{ | ||
useNewUrlParser: true, | ||
useUnifiedTopology: true, | ||
useFindAndModify: false, | ||
}, | ||
() => { | ||
console.log("MongoDB cluster connection established"); | ||
} | ||
); | ||
|
||
const messageHandle = async message => { | ||
if (message.author.bot) { | ||
return; | ||
} | ||
const [prefix, command, ...body] = message.content.split(' ') | ||
const [prefix, command, ...body] = message.content.split(" "); | ||
if (prefix !== process.env.prefix) { | ||
return | ||
return; | ||
} | ||
logUtilities.title('Recieve') | ||
console.log(`${'Command'.property}: ${command}`) | ||
body.join(' ').trim() === '' ? '' : console.log(`${'Body'.property}: ${body.join(' ').trim()}`) | ||
console.log(`${'Location'.property}: ${message.guild.name}`) | ||
console.log(`${'ID'.property}: ${message.guild.id}`) | ||
console.log(`${'Author'.property}: ${message.member.nickname}`) | ||
console.log(`${'ID'.property}: ${message.author.id}`) | ||
console.log(logUtilities.separator) | ||
logUtilities.title("Recieve"); | ||
console.log(`${"Command".property}: ${command}`); | ||
console.log( | ||
body.join(" ").trim() === "" | ||
? "No body provided".warning | ||
: `${"Body".property}: ${body.join(" ").trim()}` | ||
); | ||
console.log(`${"Location".property}: ${message.guild.name}`); | ||
console.log(`${"ID".property}: ${message.guild.id}`); | ||
console.log(`${"Author".property}: ${message.member.nickname}`); | ||
console.log(`${"ID".property}: ${message.author.id}`); | ||
console.log(logUtilities.separator); | ||
switch (command) { | ||
case 'register': | ||
register(message, body) | ||
break | ||
case 'update': | ||
setNicknames(client, message.guild.id, message) | ||
break | ||
case 'edit': | ||
editOwnDotaNickname(body, message) | ||
break | ||
case 'help': | ||
help(message.channel) | ||
break | ||
case 'lock': | ||
canEditPermissionsSet(message, false) | ||
break | ||
case 'unlock': | ||
canEditPermissionsSet(message, true) | ||
break | ||
case 'get': | ||
getUsersDotaNickname(message) | ||
break | ||
case 'set': | ||
setUsersDotaNickname(message, body) | ||
break | ||
case "register": | ||
register(message, body); | ||
break; | ||
case "update": | ||
setNicknames(client, message.guild.id, message); | ||
break; | ||
case "edit": | ||
editOwnDotaNickname(body, message); | ||
break; | ||
case "help": | ||
help(message.channel); | ||
break; | ||
case "lock": | ||
canEditPermissionsSet(message, false); | ||
break; | ||
case "unlock": | ||
canEditPermissionsSet(message, true); | ||
break; | ||
case "get": | ||
getUsersDotaNickname(message); | ||
break; | ||
case "set": | ||
setUsersDotaNickname(message, body); | ||
break; | ||
default: | ||
message.channel.send('Unknown command') | ||
break | ||
message.channel.send("Unknown command"); | ||
break; | ||
} | ||
} | ||
}; | ||
|
||
client.on('message', messageHandle) | ||
client.on("message", messageHandle); | ||
|
||
client.on('ready', async () => { | ||
setInterval(() => interval(client), 3600000) | ||
}) | ||
client.on("ready", async () => { | ||
setInterval(() => interval(client), 3600000); | ||
}); | ||
|
||
client.on('guildDelete', async (guild) => { | ||
await guildDelete(guild.id) | ||
}) | ||
client.on("guildDelete", async guild => { | ||
await guildDelete(guild.id); | ||
}); |
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,37 +1,62 @@ | ||
const User = require('../Database/User') | ||
"use strict"; | ||
|
||
const logUtilities = require('./utility/logUtilities') | ||
const User = require("../Database/User"); | ||
|
||
const logUtilities = require("./utility/logUtilities"); | ||
|
||
const canEditPermissionsSet = async (message, parameter) => { | ||
logUtilities.title('Lock / Unlock') | ||
if (!message.member.hasPermission('ADMINISTRATOR')) { | ||
console.log('Lock / Unlock was invoked by non-administrator user'.error) | ||
console.log(logUtilities.separator) | ||
message.channel.send('You need administrator permissions on server to do this') | ||
return | ||
logUtilities.title("Lock / Unlock"); | ||
if (!message.member.hasPermission("ADMINISTRATOR")) { | ||
console.log( | ||
"Lock / Unlock was invoked by non-administrator user" | ||
.error | ||
); | ||
console.log(logUtilities.separator); | ||
message.channel.send( | ||
"You need administrator permissions on server to do this" | ||
); | ||
return; | ||
} | ||
const idToBan = message.mentions.users.first().id | ||
const idToBan = message.mentions.users.first().id; | ||
const usertoBan = await User.findOne({ | ||
discordID: idToBan | ||
}) | ||
if(usertoBan === null) { | ||
console.log('User that was mentioned is not registered'.error) | ||
console.log(logUtilities.separator) | ||
message.channel.send('User is not registered in system') | ||
return | ||
discordID: idToBan, | ||
}); | ||
if (usertoBan === null) { | ||
console.log( | ||
"User that was mentioned is not registered".error | ||
); | ||
console.log(logUtilities.separator); | ||
message.channel.send("User is not registered in system"); | ||
return; | ||
} | ||
await User.findOneAndUpdate({ | ||
discordID: idToBan | ||
}, { | ||
canEdit: parameter | ||
}, (err, res) => { | ||
if (err) { | ||
console.error(err) | ||
} else { | ||
console.log(`${res.dotaNickname.nicknameStyle} ${parameter ? 'can now edit his nickname' : 'can no longer edit his nickname'}`.log) | ||
message.channel.send(`${res.dotaNickname} ${parameter ? 'can now edit his nickname' : 'can no longer edit his nickname'}`) | ||
await User.findOneAndUpdate( | ||
{ | ||
discordID: idToBan, | ||
}, | ||
{ | ||
canEdit: parameter, | ||
}, | ||
(err, res) => { | ||
if (err) { | ||
console.error(err); | ||
} else { | ||
console.log( | ||
`${res.dotaNickname.nicknameStyle} ${ | ||
parameter | ||
? "can now edit his nickname" | ||
: "can no longer edit his nickname" | ||
}`.log | ||
); | ||
message.channel.send( | ||
`${res.dotaNickname} ${ | ||
parameter | ||
? "can now edit his nickname" | ||
: "can no longer edit his nickname" | ||
}` | ||
); | ||
} | ||
} | ||
}) | ||
} | ||
); | ||
}; | ||
|
||
module.exports = canEditPermissionsSet | ||
module.exports = canEditPermissionsSet; |
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,44 +1,59 @@ | ||
const User = require('../Database/User') | ||
"use strict"; | ||
|
||
const logUtilities = require('./utility/logUtilities') | ||
const User = require("../Database/User"); | ||
|
||
const logUtilities = require("./utility/logUtilities"); | ||
|
||
const editOwnDotaNickname = async (body, message) => { | ||
logUtilities.title('Edit') | ||
const bodyStr = body.join(' ').trim() | ||
if (bodyStr === '') { | ||
console.log('No nickname provided'.error) | ||
console.log(logUtilities.separator) | ||
message.channel.send('No nickname provided') | ||
return | ||
logUtilities.title("Edit"); | ||
const bodyStr = body.join(" ").trim(); | ||
if (bodyStr === "") { | ||
console.log("No nickname provided".error); | ||
console.log(logUtilities.separator); | ||
message.channel.send("No nickname provided"); | ||
return; | ||
} | ||
const currentUser = await User.findOne({ | ||
discordID: message.member.user.id | ||
}) | ||
discordID: message.member.user.id, | ||
}); | ||
if (currentUser === null) { | ||
console.log('User that invoked this command is not registered'.error) | ||
console.log(logUtilities.separator) | ||
message.channel.send('You are not registered') | ||
return | ||
console.log( | ||
"User that invoked this command is not registered".error | ||
); | ||
console.log(logUtilities.separator); | ||
message.channel.send("You are not registered"); | ||
return; | ||
} | ||
if (!currentUser.canEdit) { | ||
console.log('User that invoked this command is banned from editing his nickname'.error) | ||
console.log(logUtilities.separator) | ||
message.channel.send('You were banned from editing your nickname') | ||
return | ||
console.log( | ||
"User that invoked this command is banned from editing his nickname" | ||
.error | ||
); | ||
console.log(logUtilities.separator); | ||
message.channel.send( | ||
"You were banned from editing your nickname" | ||
); | ||
return; | ||
} | ||
await User.findOneAndUpdate({ | ||
discordID: message.member.user.id | ||
}, { | ||
dotaNickname: bodyStr | ||
}, (err, res) => { | ||
if (err) { | ||
console.error(err) | ||
} else { | ||
console.log('Nickname successfully updated'.log) | ||
console.log(logUtilities.separator) | ||
message.channel.send('Your nickname was updated successfully') | ||
await User.findOneAndUpdate( | ||
{ | ||
discordID: message.member.user.id, | ||
}, | ||
{ | ||
dotaNickname: bodyStr, | ||
}, | ||
err => { | ||
if (err) { | ||
console.error(err); | ||
} else { | ||
console.log("Nickname successfully updated".log); | ||
console.log(logUtilities.separator); | ||
message.channel.send( | ||
"Your nickname was updated successfully" | ||
); | ||
} | ||
} | ||
}) | ||
} | ||
); | ||
}; | ||
|
||
module.exports = editOwnDotaNickname | ||
module.exports = editOwnDotaNickname; |
Oops, something went wrong.