diff --git a/assets/ImpactMix.ttf b/assets/ImpactMix.ttf deleted file mode 100644 index 9e6e40e..0000000 Binary files a/assets/ImpactMix.ttf and /dev/null differ diff --git a/commands/channel.js b/commands/channel.js index d6b984a..46b1d17 100644 --- a/commands/channel.js +++ b/commands/channel.js @@ -2,7 +2,7 @@ const db = require("../utils/database.js"); exports.run = async (message, args) => { if (!message.channel.guild) return `${message.author.mention}, this command only works in servers!`; - if (!message.member.permission.has("administrator") && message.member.id !== process.env.OWNER) return `${message.author.mention}, you need to be an administrator to enable/disable me!`; + if (!message.member.permissions.has("administrator") && message.member.id !== process.env.OWNER) return `${message.author.mention}, you need to be an administrator to enable/disable me!`; if (args.length === 0) return `${message.author.mention}, you need to provide whether I should be enabled or disabled in this channel!`; if (args[0] !== "disable" && args[0] !== "enable") return `${message.author.mention}, that's not a valid option!`; diff --git a/commands/count.js b/commands/count.js index e3ef942..9db9905 100644 --- a/commands/count.js +++ b/commands/count.js @@ -3,8 +3,8 @@ const paginator = require("../utils/pagination/pagination.js"); const database = require("../utils/database.js"); exports.run = async (message) => { - if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permission.has("addReactions") && !message.channel.permissionsOf(client.user.id).has("addReactions")) return `${message.author.mention}, I don't have the \`Add Reactions\` permission!`; - if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permission.has("embedLinks") && !message.channel.permissionsOf(client.user.id).has("embedLinks")) return `${message.author.mention}, I don't have the \`Embed Links\` permission!`; + if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permissions.has("addReactions") && !message.channel.permissionsOf(client.user.id).has("addReactions")) return `${message.author.mention}, I don't have the \`Add Reactions\` permission!`; + if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permissions.has("embedLinks") && !message.channel.permissionsOf(client.user.id).has("embedLinks")) return `${message.author.mention}, I don't have the \`Embed Links\` permission!`; const counts = await database.getCounts(); const countArray = []; const sortedValues = counts.sort((a, b) => { diff --git a/commands/image.js b/commands/image.js index ce6c7c0..b427dfc 100644 --- a/commands/image.js +++ b/commands/image.js @@ -3,8 +3,8 @@ const paginator = require("../utils/pagination/pagination.js"); const { image_search } = require("duckduckgo-images-api"); exports.run = async (message, args) => { - if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permission.has("addReactions") && !message.channel.permissionsOf(client.user.id).has("addReactions")) return `${message.author.mention}, I don't have the \`Add Reactions\` permission!`; - if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permission.has("embedLinks") && !message.channel.permissionsOf(client.user.id).has("embedLinks")) return `${message.author.mention}, I don't have the \`Embed Links\` permission!`; + if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permissions.has("addReactions") && !message.channel.permissionsOf(client.user.id).has("addReactions")) return `${message.author.mention}, I don't have the \`Add Reactions\` permission!`; + if (message.channel.guild && !message.channel.guild.members.get(client.user.id).permissions.has("embedLinks") && !message.channel.permissionsOf(client.user.id).has("embedLinks")) return `${message.author.mention}, I don't have the \`Embed Links\` permission!`; if (args.length === 0) return `${message.author.mention}, you need to provide something to search for!`; const embeds = []; const images = await image_search({ query: args.join(" "), moderate: true }); diff --git a/commands/prefix.js b/commands/prefix.js index 9a2c9ba..84b600d 100644 --- a/commands/prefix.js +++ b/commands/prefix.js @@ -4,7 +4,7 @@ exports.run = async (message, args) => { if (!message.channel.guild) return `${message.author.mention}, this command only works in servers!`; const guild = await database.getGuild(message.channel.guild.id); if (args.length !== 0) { - if (!message.member.permission.has("administrator") && message.member.id !== process.env.OWNER) return `${message.author.mention}, you need to be an administrator to change the bot prefix!`; + if (!message.member.permissions.has("administrator") && message.member.id !== process.env.OWNER) return `${message.author.mention}, you need to be an administrator to change the bot prefix!`; await database.setPrefix(args[0], message.channel.guild); return `The prefix has been changed to ${args[0]}.`; } else { diff --git a/commands/spam.js b/commands/spam.js deleted file mode 100644 index 1e71cbe..0000000 --- a/commands/spam.js +++ /dev/null @@ -1,9 +0,0 @@ -exports.run = async (message, args) => { - if (args.length === 0) return `${message.author.mention}, you need to provide what you want to spam!`; - if (message.content.includes("@everyone") || message.content.includes("@here")) return "I don't know about you, but that seems like a bad idea."; - return args.join(" ").repeat(500).substring(0, 500); -}; - -exports.category = 9; -exports.help = "placeholder"; -exports.params = "[text]"; \ No newline at end of file diff --git a/commands/tags.js b/commands/tags.js index 3951455..6c9edce 100644 --- a/commands/tags.js +++ b/commands/tags.js @@ -23,13 +23,13 @@ exports.run = async (message, args) => { case "remove": if (args[1] === undefined) return `${message.author.mention}, you need to provide the name of the tag you want to delete!`; if (!tags[args[1].toLowerCase()]) return `${message.author.mention}, this tag doesn't exist!`; - if (tags[args[1].toLowerCase()].author !== message.author.id && !message.member.permission.has("manageMessages") && message.author.id !== process.env.OWNER) return `${message.author.mention}, you don't own this tag!`; + if (tags[args[1].toLowerCase()].author !== message.author.id && !message.member.permissions.has("manageMessages") && message.author.id !== process.env.OWNER) return `${message.author.mention}, you don't own this tag!`; await database.removeTag(args[1].toLowerCase(), message.channel.guild); return `${message.author.mention}, the tag \`${args[1].toLowerCase()}\` has been deleted!`; case "edit": if (args[1] === undefined) return `${message.author.mention}, you need to provide the name of the tag you want to edit!`; if (!tags[args[1].toLowerCase()]) return `${message.author.mention}, this tag doesn't exist!`; - if (tags[args[1].toLowerCase()].author !== message.author.id && !message.member.permission.has("manageMessages") && message.author.id !== process.env.OWNER) return `${message.author.mention}, you don't own this tag!`; + if (tags[args[1].toLowerCase()].author !== message.author.id && !message.member.permissions.has("manageMessages") && message.author.id !== process.env.OWNER) return `${message.author.mention}, you don't own this tag!`; await setTag(args.slice(2).join(" "), args[1].toLowerCase(), message, guild); return `${message.author.mention}, the tag \`${args[1].toLowerCase()}\` has been edited!`; case "own": @@ -38,8 +38,8 @@ exports.run = async (message, args) => { if (!tags[args[1].toLowerCase()]) return `${message.author.mention}, this tag doesn't exist!`; return `${message.author.mention}, this tag is owned by **${client.users.get(tags[args[1].toLowerCase()].author).username}#${client.users.get(tags[args[1].toLowerCase()].author).discriminator}** (\`${tags[args[1].toLowerCase()].author}\`).`; case "list": - if (!message.channel.guild.members.get(client.user.id).permission.has("addReactions") && !message.channel.permissionsOf(client.user.id).has("addReactions")) return `${message.author.mention}, I don't have the \`Add Reactions\` permission!`; - if (!message.channel.guild.members.get(client.user.id).permission.has("embedLinks") && !message.channel.permissionsOf(client.user.id).has("embedLinks")) return `${message.author.mention}, I don't have the \`Embed Links\` permission!`; + if (!message.channel.guild.members.get(client.user.id).permissions.has("addReactions") && !message.channel.permissionsOf(client.user.id).has("addReactions")) return `${message.author.mention}, I don't have the \`Add Reactions\` permission!`; + if (!message.channel.guild.members.get(client.user.id).permissions.has("embedLinks") && !message.channel.permissionsOf(client.user.id).has("embedLinks")) return `${message.author.mention}, I don't have the \`Embed Links\` permission!`; var pageSize = 15; var embeds = []; var groups = Object.keys(tags).map((item, index) => { @@ -70,7 +70,7 @@ exports.run = async (message, args) => { return tags[random(Object.keys(tags))].content; case "enable": case "disable": - if (!message.member.permission.has("manageMessages") && message.author.id !== process.env.OWNER) return `${message.author.mention}, you don't have permission to disable tags!`; + if (!message.member.permissions.has("manageMessages") && message.author.id !== process.env.OWNER) return `${message.author.mention}, you don't have permission to disable tags!`; var toggleResult = await database.toggleTags(message.channel.guild); return `${message.author.mention}, tags for this guild have been ${toggleResult ? "disabled" : "enabled"}. To ${toggleResult ? "enable" : "disable"} them again, run ${guild.prefix}tags ${toggleResult ? "enable" : "disable"}.`; default: diff --git a/events/messageCreate.js b/events/messageCreate.js index 44a6ff6..a1a9d5c 100644 --- a/events/messageCreate.js +++ b/events/messageCreate.js @@ -11,7 +11,7 @@ module.exports = async (message) => { if (message.author.bot) return; // don't run command if bot can't send messages - if (message.channel.guild && (!message.channel.guild.members.get(client.user.id).permission.has("sendMessages") || !message.channel.permissionsOf(client.user.id).has("sendMessages"))) return; + if (message.channel.guild && (!message.channel.guild.members.get(client.user.id).permissions.has("sendMessages") || !message.channel.permissionsOf(client.user.id).has("sendMessages"))) return; // this is here to prevent reading the database if a message is unrelated let valid = false; diff --git a/messages.json b/messages.json index 76cc47c..8a1a399 100644 --- a/messages.json +++ b/messages.json @@ -68,7 +68,6 @@ "TikTok", "woo yeah", "Mario", - "with Edgar", "Microsoft Internet Explorer", "joe mama", "Sonic 06", diff --git a/package-lock.json b/package-lock.json index cba6180..85f031d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "esmbot", - "version": "1.4.0", + "version": "1.4.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -100,6 +100,15 @@ "@types/node": "*" } }, + "@types/readable-stream": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.9.tgz", + "integrity": "sha512-sqsgQqFT7HmQz/V5jH1O0fvQQnXAJO46Gg9LRO/JPfjmVmGUlcx831TZZO3Y3HtWhIkzf3kTsNT0Z0kzIhIvZw==", + "requires": { + "@types/node": "*", + "safe-buffer": "*" + } + }, "@types/yauzl": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", @@ -728,9 +737,9 @@ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" }, "eris": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/eris/-/eris-0.13.4.tgz", - "integrity": "sha512-IFA14nasCig8xp8cVCULvzBuJ0qpYqJ3XyEtm9OLdC177DYDCJ9QM2Aq+KOpejIVl7838n9AyRlLI6w9Eu3PiQ==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eris/-/eris-0.14.0.tgz", + "integrity": "sha512-/W6X0SFR2swtA9oc4ga5Wh1TQcZtPgbUaDDdwYc67fvFUAtwC+V1xzWUZq2yDeJnTfB8Uot9SJWA8Lthe2sDtQ==", "requires": { "opusscript": "^0.0.7", "tweetnacl": "^1.0.1", @@ -985,12 +994,12 @@ } }, "file-type": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-13.1.2.tgz", - "integrity": "sha512-NiHXbmclwHN38eHZfRklosbm7/W+1yacDzRCyddd0NiyuJUArQDmzJ8GPSFJGl82+I59u7sNGfcAVnJsfXJb8A==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.2.0.tgz", + "integrity": "sha512-1Wwww3mmZCMmLjBfslCluwt2mxH80GsAXYrvPnfQ42G1EGWag336kB1iyCgyn7UXiKY3cJrNykXPrCwA7xb5Ag==", "requires": { - "readable-web-to-node-stream": "^2.0.0", - "strtok3": "^5.0.2", + "readable-web-to-node-stream": "^3.0.0", + "strtok3": "^6.0.3", "token-types": "^2.0.0", "typedarray-to-buffer": "^3.1.5" } @@ -1945,9 +1954,9 @@ "dev": true }, "peek-readable": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.0.tgz", - "integrity": "sha512-KGuODSTV6hcgdZvDrIDBUkN0utcAVj1LL7FfGbM0viKTtCHmtZcuEJ+lGqsp0fTFkGqesdtemV2yUSMeyy3ddA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz", + "integrity": "sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg==" }, "pend": { "version": "1.2.0", @@ -2286,9 +2295,25 @@ } }, "readable-web-to-node-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-2.0.0.tgz", - "integrity": "sha512-+oZJurc4hXpaaqsN68GoZGQAQIA3qr09Or4fqEsargABnbe5Aau8hFn6ISVleT3cpY/0n/8drn7huyyEvTbghA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz", + "integrity": "sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA==", + "requires": { + "@types/readable-stream": "^2.3.9", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } }, "regexp-clone": { "version": "1.0.0", @@ -2645,13 +2670,13 @@ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "strtok3": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-5.0.2.tgz", - "integrity": "sha512-EFeVpFC5qDsqPEJSrIYyS/ueFBknGhgSK9cW+YAJF/cgJG/KSjoK7X6rK5xnpcLe7y1LVkVFCXWbAb+ClNKzKQ==", + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz", + "integrity": "sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw==", "requires": { "@tokenizer/token": "^0.1.1", - "debug": "^4.1.1", - "peek-readable": "^3.1.0" + "@types/debug": "^4.1.5", + "peek-readable": "^3.1.3" } }, "supports-color": { @@ -2789,12 +2814,19 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "token-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-2.0.0.tgz", - "integrity": "sha512-WWvu8sGK8/ZmGusekZJJ5NM6rRVTTDO7/bahz4NGiSDb/XsmdYBn6a1N/bymUHuWYTWeuLUg98wUzvE4jPdCZw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-2.1.1.tgz", + "integrity": "sha512-wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==", "requires": { - "@tokenizer/token": "^0.1.0", - "ieee754": "^1.1.13" + "@tokenizer/token": "^0.1.1", + "ieee754": "^1.2.1" + }, + "dependencies": { + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + } } }, "triple-beam": { diff --git a/package.json b/package.json index f147925..eca0ef5 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dotenv": "^8.2.0", "duckduckgo-images-api": "github:benpbolton/duckduckgo-images-api", "emoji-regex": "^8.0.0", - "eris": "^0.13.4", + "eris": "^0.14.0", "file-type": "^16.1.0", "jsqr": "^1.3.1", "lavacord": "^1.1.9",