summaryrefslogtreecommitdiff
path: root/src/commands/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/server')
-rw-r--r--src/commands/server/goodbye.ts20
-rw-r--r--src/commands/server/membercount.ts7
-rw-r--r--src/commands/server/oldestmember.ts15
-rw-r--r--src/commands/server/poll.ts13
-rw-r--r--src/commands/server/quotemessage.ts20
-rw-r--r--src/commands/server/randommember.ts7
-rw-r--r--src/commands/server/roleinfo.ts9
-rw-r--r--src/commands/server/roles.ts9
-rw-r--r--src/commands/server/server.ts8
-rw-r--r--src/commands/server/welcome.ts36
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