diff --git a/.snyk b/.snyk new file mode 100644 index 0000000..8cb541f --- /dev/null +++ b/.snyk @@ -0,0 +1,4 @@ +# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. +version: v1.14.1 +ignore: {} +patch: {} diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..f9db756 --- /dev/null +++ b/changelog.md @@ -0,0 +1,23 @@ +# Version 2.0.3 +#### Released 01.10.2020 (DMY) + +## Bugfixes +- :bug: Fixed a bug where no Notification is being sent after a user answers a ticket +- :bug: Fixed a bug where /ticketteam would not send an error if a user has insufficient permissions +- :bug: Fixed a bug where sending /ticketteam without an action would throw no error for authorized users +- :bug: Fixed embed colour for error message if an user with insufficient permissions tries to use /ticketteam + +## Dependency updates +- :arrow_up: Upgraded dependencies to newest version + +## Removed Features +- :fire: Removed legacy check for me to be able to use /ticketteam without having the team-role + +## Language +- :globe_with_meridians: Fixed a typo for English language pack + +## UI and Style +- :lipstick: Log output regarding version checks are now colourized. If no update is available the output will be coloured green. If there is an update available or an error occurred while checking for a new version the output will be red. + +## Documentation +- :memo: Added Changelog \ No newline at end of file diff --git a/commands/ticket.js b/commands/ticket.js index 0f59748..c3a07f1 100644 --- a/commands/ticket.js +++ b/commands/ticket.js @@ -428,7 +428,7 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli .catch(e => { log(`An error occurred while sending a messagee to ${message.author.tag}: ${e.stack}`, 2); }); - var teamchannel = client.guilds.cache.cache.get(config.server_id).channels.cache.get(config.ticket_notification_channel_id); + var teamchannel = client.guilds.cache.get(config.server_id).channels.cache.get(config.ticket_notification_channel_id); if (!teamchannel) { return; } diff --git a/commands/ticketteam.js b/commands/ticketteam.js index a27d62d..01516c3 100644 --- a/commands/ticketteam.js +++ b/commands/ticketteam.js @@ -1,10 +1,10 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, client) { const fs = require("fs-extra"); const path = require("path"); - return async function (message) { + return async function (message) { var guild = message.guild; var role = guild.roles.cache.get(config.team_role_id); - + if (!role) { log(`Teamroleid invalid. Please check the config.json`, 1); message.channel.send("", { @@ -14,24 +14,48 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occured while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}).catch(e => {}); + msg.delete({ + timeout: 10000 + }).catch(e => {}); }); return; } - - if (!message.member.roles.cache.get(role.id) && message.author.id != oid && message.author.id != "143006052517019659") { + + if (!message.member.roles.cache.get(role.id)) { message.channel.send("", { - embed: makeEmbed(message, "#00FF21", `❗ ${language.oops}`, language.you_do_not_have_the_required_authorization_to_use_this_command) + embed: makeEmbed(message, "#FF0000", `❗ ${language.oops}`, language.you_do_not_have_the_required_authorization_to_use_this_command) }) .catch(e => { log(`An error occured while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}).catch(e => {}); + msg.delete({ + timeout: 10000 + }).catch(e => {}); }); return; } - + + if (!message.content.split(" ")[1]) { + message.channel.send("", { + embed: makeEmbed(message, "#FF0000", `❗ ${language.oops}`, language.please_enter_an_action, [{ + title: language.you_have_the_following_options, + value: `${languageconfig.ticketteamcommand.info}, ${languageconfig.ticketteamcommand.answer}, ${languageconfig.ticketteamcommand.close}, ${languageconfig.ticketteamcommand.reopen}, ${languageconfig.ticketteamcommand.list}, ${languageconfig.ticketteamcommand.user}` + }]) + }) + .catch(e => { + log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); + return; + }) + .then(msg => { + msg.delete({ + timeout: 10000 + }) + .catch(e => {}); + }); + return; + } + switch (message.content.split(" ")[1].toLowerCase()) { case languageconfig.ticketteamcommand.info.toLowerCase(): if (!message.content.split(" ").slice(1).slice(1).join(" ")) { @@ -45,7 +69,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -65,7 +91,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -129,7 +157,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -144,7 +174,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -157,7 +189,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -177,7 +211,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -193,7 +229,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -207,7 +245,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); } @@ -231,7 +271,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -243,7 +285,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occured while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); var user = client.users.cache.get(ticket.author); @@ -255,7 +299,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -294,7 +340,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -314,7 +362,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -330,7 +380,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`) }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -357,7 +409,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -370,7 +424,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); var user = client.users.cache.get(ticket.author); @@ -382,7 +438,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -406,7 +464,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -426,7 +486,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -442,7 +504,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -469,7 +533,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -482,7 +548,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); var user = client.users.cache.get(ticket.author); @@ -494,7 +562,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -539,11 +609,13 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:30000}) + msg.delete({ + timeout: 30000 + }) .catch(e => {}); }); break; - + case languageconfig.ticketteamcommand.user.toLowerCase(): if (message.mentions.members.first()) { var user = message.mentions.members.first().user.id; @@ -559,7 +631,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -582,7 +656,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; @@ -606,7 +682,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli log(`An error occurred while sending a message to ${message.channel.name}: ${e.stack}`, 1); }) .then(msg => { - msg.delete({timeout:30000}) + msg.delete({ + timeout: 30000 + }) .catch(e => {}); }); return; @@ -622,7 +700,9 @@ module.exports = function (log, makeEmbed, language, config, languageconfig, cli return; }) .then(msg => { - msg.delete({timeout:10000}) + msg.delete({ + timeout: 10000 + }) .catch(e => {}); }); return; diff --git a/lang/en_EN.json b/lang/en_EN.json index a25038c..59e6c5a 100644 --- a/lang/en_EN.json +++ b/lang/en_EN.json @@ -48,7 +48,7 @@ "your_tickets_been_closed_please_contact_the_team_if_this_is_a_mistake": "Your Ticket's been closed. Please contact the team if this is a mistake.", "this_ticket_was_not_created_by_you": "This ticket was not created by you", "information_about_the_selected_ticket": "Information about the selected ticket", - "displays_the_last_10_messages_and_the_original_request": "Shows the last 1ß messages and the original request", + "displays_the_last_10_messages_and_the_original_request": "Shows the last 10 messages and the original request", "at": "at", "please_enter_a_message": "Please enter a message", "an_error_occurred": "An error occurred", diff --git a/main.js b/main.js index 9025ca8..6c1fb71 100644 --- a/main.js +++ b/main.js @@ -1,7 +1,7 @@ /** * Ticketsystem by AstroGD * @author AstroGD (https://www.astrogd.eu) - * @version 2.0.1 + * @version 2.0.3 * @since 15. Mai 2018 * @link https://www.astrogd.eu * @license AGPL-3.0 @@ -72,20 +72,20 @@ async function checkVersion() { 'maxRedirects': 20 }); } catch (error) { - return log(`Version couldn't be checked! Make sure to allow network access to software.astrogd.eu`, 1); + return log(`\x1b[31mVersion couldn't be checked! Make sure to allow network access to software.astrogd.eu\x1b[0m`, 1); } - if (!versionInfo) return log(`Version couldn't be checked! Make sure to allow network access to software.astrogd.eu`, 1); + if (!versionInfo) return log(`\x1b[31mVersion couldn't be checked! Make sure to allow network access to software.astrogd.eu\x1b[0m`, 1); versionInfo = JSON.parse(versionInfo.toString()); const version = pk.version.split("."); const latest = versionInfo.version.split("."); if (version[0] < latest[0] || version[0] == latest[0] && version[1] < latest[1] || version[0] == latest[0] && version[1] == latest[1] && version[2] < latest[2]) { - return log(`A new version of the ticketsystem is available (${pk.version} --> ${versionInfo.version}). Make sure to visit ${versionInfo.url} and download the newest version. If you need help look in the repositorys wiki under "how to update" or contact AstroGD (https://www.astrogd.eu/en/kontakt)`, 2); + return log(`\x1b[31mA new version of the ticketsystem is available (${pk.version} --> ${versionInfo.version}). Make sure to visit ${versionInfo.url} and download the newest version. If you need help look in the repositorys wiki under "how to update" or contact AstroGD (https://www.astrogd.eu/en/kontakt)\x1b[0m`, 2); } - log(`Newest version installed!`, 3); + log(`\x1b[32mNewest version installed!\x1b[0m`, 3); }; //Additional Code diff --git a/package-lock.json b/package-lock.json index 657d700..e60fd46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ticketsystem", - "version": "2.0.1", + "version": "2.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -114,9 +114,9 @@ } }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" }, "prism-media": { "version": "1.2.2", diff --git a/package.json b/package.json index 7a10352..31802c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ticketsystem", - "version": "2.0.2", + "version": "2.0.3", "description": "Ticketsystem Discord Bot", "main": "main.js", "scripts": { @@ -14,4 +14,4 @@ "follow-redirects": "^1.13.0", "fs-extra": "^9.0.1" } -} +} \ No newline at end of file