diff options
Diffstat (limited to 'src/commands/server')
| -rw-r--r-- | src/commands/server/goodbye.ts | 20 | ||||
| -rw-r--r-- | src/commands/server/membercount.ts | 7 | ||||
| -rw-r--r-- | src/commands/server/oldestmember.ts | 15 | ||||
| -rw-r--r-- | src/commands/server/poll.ts | 13 | ||||
| -rw-r--r-- | src/commands/server/quotemessage.ts | 20 | ||||
| -rw-r--r-- | src/commands/server/randommember.ts | 7 | ||||
| -rw-r--r-- | src/commands/server/roleinfo.ts | 9 | ||||
| -rw-r--r-- | src/commands/server/roles.ts | 9 | ||||
| -rw-r--r-- | src/commands/server/server.ts | 8 | ||||
| -rw-r--r-- | src/commands/server/welcome.ts | 36 |
10 files changed, 88 insertions, 56 deletions
diff --git a/src/commands/server/goodbye.ts b/src/commands/server/goodbye.ts index 8a4669f..b924654 100644 --- a/src/commands/server/goodbye.ts +++ b/src/commands/server/goodbye.ts @@ -1,4 +1,5 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; +//@ts-ignore no types import emoji from 'emoji-random'; import Goodbye from '../../models/goodbye.js'; import mongo from 'mongoose'; @@ -6,7 +7,7 @@ import config from '../../config.json'; mongo.connect(config['mongodburi'], { useNewUrlParser: true, useUnifiedTopology: true }) module.exports = class GoodbyeServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'goodbye', group: 'server', @@ -34,7 +35,8 @@ module.exports = class GoodbyeServer extends Command { guildOnly: true }); } - async run(msg: CommandoMessage, { wType }) { + //@ts-ignore doesnt matter if not all code paths return a value + async run(msg: CommandoMessage, { wType }: any) { const goodbye = new Goodbye({ _id: mongo.Types.ObjectId(), username: msg.author.username, @@ -54,17 +56,24 @@ module.exports = class GoodbyeServer extends Command { } else if (guild && wType == 'remove') { await Goodbye.findOneAndDelete({ guildID: msg.guild.id }) msg.say('The current goodbye channel has been unset! ' + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (!guild && wType == 'remove') { msg.reply('There is no current goodbye channel set for this guild! ' + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (guild && wType == 'set') { + //@ts-ignore this exists msg.reply(`There already is a goodbye channel set! It's ${guild.channelname}! ` + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (!guild && wType == 'set') { @@ -73,17 +82,20 @@ module.exports = class GoodbyeServer extends Command { .catch(err => console.log(err)) msg.reply(`The goodbye channel has been set to ${msg.channel}! ` + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (!guild) { msg.reply('There is no current goodbye channel set for this guild! To set one, do `uwu!goodbye set` in the channel you want to set it in. ' + emoji.random()) } else if (guild) { + //@ts-ignore this exists msg.reply(`The current goodbye channel is ${guild.channelname}. ` + emoji.random()) } }) } else { - msg.reply('Insufficent permissions! ' + emoji.random()) + return msg.reply('Insufficent permissions! ' + emoji.random()) } } };
\ No newline at end of file diff --git a/src/commands/server/membercount.ts b/src/commands/server/membercount.ts index 7b737ee..ef1d271 100644 --- a/src/commands/server/membercount.ts +++ b/src/commands/server/membercount.ts @@ -1,8 +1,9 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; +//@ts-ignore no types import emoji from 'emoji-random'; module.exports = class MemberCountServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'membercount', aliases: ['memberc', 'mcount', 'mc'], @@ -25,6 +26,6 @@ module.exports = class MemberCountServer extends Command { }); } run(msg: CommandoMessage) { - msg.reply(`There are **${msg.guild.memberCount}** members in **${msg.guild.name}**. ` + emoji.random()); + return msg.reply(`There are **${msg.guild.memberCount}** members in **${msg.guild.name}**. ` + emoji.random()); } };
\ No newline at end of file diff --git a/src/commands/server/oldestmember.ts b/src/commands/server/oldestmember.ts index 4d5cd17..974e476 100644 --- a/src/commands/server/oldestmember.ts +++ b/src/commands/server/oldestmember.ts @@ -1,10 +1,12 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; +//@ts-ignore no types import emoji from 'emoji-random' import { formatDistance, formatRelative } from 'date-fns' +//@ts-ignore no types import { stripIndents } from 'common-tags' module.exports = class OldestMemberServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'oldestmember', aliases: [ @@ -38,13 +40,14 @@ module.exports = class OldestMemberServer extends Command { return -1 } return 0 - }) - .first()?.user - + }).first()?.user; + + // TODO: + //@ts-ignore no idea why const { createdAt } = oldest const age = formatDistance(createdAt, new Date()) const date = formatRelative(createdAt, new Date()) - msg.reply(stripIndents`${oldest.tag} is the oldest member in this server. + return msg.reply(stripIndents`${oldest?.tag} is the oldest member in this server. Their account is **${age}** old (created **${date}**).` + ' ' + emoji.random()) } };
\ No newline at end of file diff --git a/src/commands/server/poll.ts b/src/commands/server/poll.ts index eb91e5f..6230f86 100644 --- a/src/commands/server/poll.ts +++ b/src/commands/server/poll.ts @@ -1,9 +1,10 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; import { MessageEmbed } from 'discord.js'; +//@ts-ignore no types import emoji from 'emoji-random' module.exports = class PollServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'poll', group: 'server', @@ -19,21 +20,25 @@ module.exports = class PollServer extends Command { guildOnly: true }); } + //@ts-ignore this is not async run(msg: CommandoMessage) { let messageArray = msg.content.split(' ') let args = messageArray.slice(1) if (!args || args.length < 1) { - msg.reply(`No poll content was specified. ${emoji.random()}`) + return msg.reply(`No poll content was specified. ${emoji.random()}`) } else { let emb = new MessageEmbed() .setColor(0xFFCC4D) .setFooter('React to vote.') .setDescription(args.join(' ')) .setTitle(`Poll Created by ${msg.author.username} ${emoji.random()}`) - msg.say(emb).then(fMsg => { + return msg.say(emb).then(fMsg => { + //@ts-ignore yes these exist fMsg.react('✅') + //@ts-ignore yes these exist fMsg.react('❎') + //@ts-ignore yes these exist msg.delete({ timeout: 1000 }) }) } diff --git a/src/commands/server/quotemessage.ts b/src/commands/server/quotemessage.ts index 315c581..d421f68 100644 --- a/src/commands/server/quotemessage.ts +++ b/src/commands/server/quotemessage.ts @@ -1,11 +1,10 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; -import emoji from 'emoji-random' +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; import { MessageEmbed } from 'discord.js'; -import tt from '../../utils/truncateText.js' +const tt = require('../../utils/truncateText.js') import path from 'path' module.exports = class QuoteMessageServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'quotemessage', aliases: [ @@ -33,7 +32,7 @@ module.exports = class QuoteMessageServer extends Command { ] }); } - run(msg: CommandoMessage, { mMsg }) { + run(msg: CommandoMessage, { mMsg }: any) { let emb = new MessageEmbed() .setColor(0xFFCC4D) .setTimestamp(mMsg.createdAt) @@ -61,13 +60,14 @@ module.exports = class QuoteMessageServer extends Command { const linkRegex = /https?:\/\/(?:\w+\.)?[\w-]+\.[\w]{2,3}(?:\/[\w-_.]+)+\.(?:png|jpg|jpeg|gif|webp)/; // embed (that may or may not exist) with an img in it - const imageEmbed = mMsg.embeds.find( - msgEmbed => msgEmbed.type === 'rich' && msgEmbed.image && extensions.includes(path.extname(msgEmbed.image.url)) - ) + const imageEmbed = mMsg.embeds.find((msgEmbed: { type: string; image: { url: string; }; }) => { + msgEmbed.type === 'rich' && msgEmbed.image && extensions.includes(path.extname(msgEmbed.image.url)) + }) + if (imageEmbed) messageImage = imageEmbed.image.url // uploaded img - const attachment = mMsg.attachments.find(file => extensions.includes(path.extname(file.url))) + const attachment = mMsg.attachments.find((file: { url: string; }) => extensions.includes(path.extname(file.url))) if (attachment) { messageImage = attachment.url } @@ -83,6 +83,6 @@ module.exports = class QuoteMessageServer extends Command { // if there was an img, set embed image to it if (messageImage) emb.setImage(messageImage) - msg.say(emb) + return msg.say(emb) } };
\ No newline at end of file diff --git a/src/commands/server/randommember.ts b/src/commands/server/randommember.ts index e818e61..5514561 100644 --- a/src/commands/server/randommember.ts +++ b/src/commands/server/randommember.ts @@ -1,8 +1,9 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; +//@ts-ignore no types import emoji from 'emoji-random' module.exports = class RandomMemberServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'randommember', aliases: [ @@ -27,7 +28,7 @@ module.exports = class RandomMemberServer extends Command { run(msg: CommandoMessage) { if (msg.channel.type === 'dm') { const members = [this.client.user, msg.channel.recipient]; - return msg.reply(`I choose ${members[Math.floor(Math.random() * members.length)].username}! ${emoji.random()}`); + return msg.reply(`I choose ${members[Math.floor(Math.random() * members.length)]?.username}! ${emoji.random()}`); } return msg.reply(`I choose ${msg.guild.members.cache.random().displayName}! ${emoji.random()}`); } diff --git a/src/commands/server/roleinfo.ts b/src/commands/server/roleinfo.ts index 9493734..cfd5d33 100644 --- a/src/commands/server/roleinfo.ts +++ b/src/commands/server/roleinfo.ts @@ -1,9 +1,8 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; -import emoji from 'emoji-random' +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; import { MessageEmbed } from 'discord.js'; module.exports = class RoleInfoServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'roleinfo', aliases: [ @@ -29,7 +28,7 @@ module.exports = class RoleInfoServer extends Command { ] }); } - run(msg: CommandoMessage, { rRole }) { + run(msg: CommandoMessage, { rRole }: any) { let emb = new MessageEmbed() .setColor(0xFFCC4D) .setTitle(`${rRole.name} (${rRole.id})`) @@ -56,6 +55,6 @@ module.exports = class RoleInfoServer extends Command { value: `Use ${msg.anyUsage(`color ${rRole.hexColor}`)}` } ]) - msg.say(emb) + return msg.say(emb) } };
\ No newline at end of file diff --git a/src/commands/server/roles.ts b/src/commands/server/roles.ts index 8ec4a01..4ab14fe 100644 --- a/src/commands/server/roles.ts +++ b/src/commands/server/roles.ts @@ -1,10 +1,9 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; -import emoji from 'emoji-random' +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; import { MessageEmbed } from 'discord.js'; -import tt from '../../utils/truncateText.js' +const tt = require('../../utils/truncateText.js') module.exports = class RolesServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'roles', aliases: [ @@ -36,6 +35,6 @@ module.exports = class RolesServer extends Command { .array() .join(', ') )) - msg.say(emb) + return msg.say(emb) } };
\ No newline at end of file diff --git a/src/commands/server/server.ts b/src/commands/server/server.ts index f488bc9..974a435 100644 --- a/src/commands/server/server.ts +++ b/src/commands/server/server.ts @@ -1,8 +1,8 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; import { MessageEmbed } from 'discord.js'; module.exports = class ServerServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'server', aliases: [ @@ -46,9 +46,9 @@ module.exports = class ServerServer extends Command { .addField('Text channels', `${msg.guild.channels.cache.filter(c => c.type === 'text').size}`, true) .addField('Voice channels', `${msg.guild.channels.cache.filter(c => c.type === 'voice').size}`, true) .addField('Guild created', `${msg.guild.createdAt}`, false) - .addField(`${this.client.user.username} joined`, `${msg.guild.members.cache.get('699473263998271489').joinedAt}`) + .addField(`${this.client.user?.username} joined`, `${msg.guild.members.cache.get('699473263998271489')?.joinedAt}`) .setColor(0xFFCC4D); - msg.say(embed); + return msg.say(embed); } };
\ No newline at end of file diff --git a/src/commands/server/welcome.ts b/src/commands/server/welcome.ts index e2a197d..68b3046 100644 --- a/src/commands/server/welcome.ts +++ b/src/commands/server/welcome.ts @@ -1,4 +1,5 @@ -import { Command, CommandoMessage } from 'discord.js-commando'; +import { Command, CommandoMessage, CommandoClient } from 'discord.js-commando'; +//@ts-ignore no types import emoji from 'emoji-random'; import Welcome from '../../models/welcome.js'; import mongo from 'mongoose'; @@ -6,7 +7,7 @@ import config from '../../config.json'; mongo.connect(config['mongodburi'], { useNewUrlParser: true, useUnifiedTopology: true }) module.exports = class WelcomeServer extends Command { - constructor(client) { + constructor(client: CommandoClient) { super(client, { name: 'welcome', group: 'server', @@ -34,7 +35,8 @@ module.exports = class WelcomeServer extends Command { guildOnly: true }); } - async run(msg: CommandoMessage, { wType }) { + //@ts-ignore doesnt matter if not all code paths return + async run(msg: CommandoMessage, { wType }: any) { const welcome = new Welcome({ _id: mongo.Types.ObjectId(), username: msg.author.username, @@ -45,26 +47,33 @@ module.exports = class WelcomeServer extends Command { channelID: msg.channel.id, time: msg.createdAt }) - const guildExist = await Welcome.findOne({ guildID: msg.guild.id }) + // const guildExist = await Welcome.findOne({ guildID: msg.guild.id }) if (msg.member.hasPermission('MANAGE_GUILD')) { Welcome.findOne({ guildID: msg.guild.id }, async (error, guild) => { if (error) { - console.log(error) + return console.log(error) } else if (guild && wType == 'remove') { await Welcome.findOneAndDelete({ guildID: msg.guild.id }) - msg.say('The current welcome channel has been unset! ' + emoji.random()).then(mnotif => { + return msg.say('The current welcome channel has been unset! ' + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (!guild && wType == 'remove') { - msg.reply('There is no current welcome channel set for this guild! ' + emoji.random()).then(mnotif => { + return msg.reply('There is no current welcome channel set for this guild! ' + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (guild && wType == 'set') { - msg.reply(`There already is a welcome channel set! It's ${guild.channelname}! ` + emoji.random()).then(mnotif => { + //@ts-ignore this exists + return msg.reply(`There already is a welcome channel set! It's ${guild.channelname}! ` + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (!guild && wType == 'set') { @@ -72,18 +81,21 @@ module.exports = class WelcomeServer extends Command { .then(result => console.log(result)) .catch(err => console.log(err)) - msg.reply(`The welcome channel has been set to ${msg.channel}! ` + emoji.random()).then(mnotif => { + return msg.reply(`The welcome channel has been set to ${msg.channel}! ` + emoji.random()).then(mnotif => { + //@ts-ignore this exists mnotif.delete({ timeout: 2000 }) + //@ts-ignore this exists msg.delete({ timeout: 2000 }) }) } else if (!guild) { - msg.reply('There is no current welcome channel set for this guild! To set one, do `uwu!welcome set` in the channel you want to set it in. ' + emoji.random()) + return msg.reply('There is no current welcome channel set for this guild! To set one, do `uwu!welcome set` in the channel you want to set it in. ' + emoji.random()) } else if (guild) { - msg.reply(`The current welcome channel is ${guild.channelname}. ` + emoji.random()) + //@ts-ignore this exists + return msg.reply(`The current welcome channel is ${guild.channelname}. ` + emoji.random()) } }) } else { - msg.reply('Insufficent permissions! ' + emoji.random()) + return msg.reply('Insufficent permissions! ' + emoji.random()) } } };
\ No newline at end of file |