mirror of
https://github.com/Wessel/yorushika.git
synced 2026-07-18 14:34:56 +02:00
Add guild command and some other small changes
This commit is contained in:
@@ -43,12 +43,15 @@ discord :
|
||||
messagecreate: true
|
||||
messagedelete: true
|
||||
commands :
|
||||
# Category : CORE
|
||||
locale : true
|
||||
# Category : UTILITY
|
||||
ping : true
|
||||
math : true
|
||||
snipe : true
|
||||
# Category : INFORMATION
|
||||
stats : true
|
||||
guild : true
|
||||
commands : true
|
||||
# Category : IMAGE
|
||||
cat : true
|
||||
|
||||
@@ -12,7 +12,7 @@ core :
|
||||
5 : <:ok_hand:497396122416054287> # Updated (guild)
|
||||
6 : <:ok_hand:497396122416054287> # Updated (user)
|
||||
7 : <:sad:500719642403405824> # Invalid locale
|
||||
8 :
|
||||
8 : <:sad:500719642403405824> # Missing permissions (guild)
|
||||
|
||||
util :
|
||||
ping :
|
||||
@@ -27,6 +27,22 @@ util :
|
||||
snipe: <:snipe:508653323788877825> # No snipes found
|
||||
|
||||
info:
|
||||
guild :
|
||||
0 : <:search:542368817163010057> # Guild Name
|
||||
1 : <:wumpus_flag:495525134220787713> # Guild region
|
||||
2 : <:cloud:542368816911613963> # Guild creation
|
||||
3 : <:alert:542367222279176202> # Content filter
|
||||
4 : <:exclamation:542368036255039509> # Verification level
|
||||
5 : <:hashtag:542367004024242176> # Channels
|
||||
6 : <:owner:542365741844922368> # Owner tag
|
||||
7 : <:early:542366345795207178> # Owner creation
|
||||
8 : <:store:542366547180781588> # Owner avatar
|
||||
9 : <:bot:473670328334155805> # Total bots
|
||||
10 : <:member:542362747896201218> # Total users
|
||||
11 : <:offline:362670805441708032> # Total offline members
|
||||
12 : <:online:362670805051768833> # Total online members
|
||||
13 : <:dnd:362670805676720128> # Total DnD members
|
||||
14 : <:idle:362670805760475136> # Total idle members
|
||||
commands :
|
||||
0 : <:blueberry:506201160382939141> # Guild prefix
|
||||
1 : <:spirit:332131321759399937> # More info
|
||||
|
||||
@@ -74,10 +74,38 @@ info :
|
||||
- '**Cooldown**: $[command:cooldown#formatted]'
|
||||
- '**Arguments**: $[command:arguments]'
|
||||
fields:
|
||||
- 'Core'
|
||||
- 'Information'
|
||||
- 'Image'
|
||||
- 'Utility'
|
||||
- 'Developer'
|
||||
guild:
|
||||
fields:
|
||||
guild:
|
||||
name: '❯ Guild Information'
|
||||
value:
|
||||
- '$[emoji#0] **Name**: $[guild:name] (`$[guild:id]`)'
|
||||
- '$[emoji#1] **Region**: $[guild:region]'
|
||||
- '$[emoji#2] **Creation**: $[guild:created@precise] ago (`$[guild:created@exact]`)'
|
||||
- '$[emoji#3] **Content Filter**: $[guild:explicity]'
|
||||
- '$[emoji#4] **Verification Level**: $[guild:verification]'
|
||||
- '$[emoji#5] **Channels [`Text` / `Voice`]**: $[guild:fullChannels]'
|
||||
owner:
|
||||
name: '❯ Owner Information'
|
||||
value:
|
||||
- '$[emoji#6] **Tag**: $[guild:owner#tag] (`$[guild:owner#id]`)'
|
||||
- '$[emoji#7] **Creation**: $[guild:owner#created@precise] ago (`$[guild:owner#created@exact]`)'
|
||||
- '$[emoji#8] **Avatar**: [Click here]($[guild:owner#avatar])'
|
||||
members:
|
||||
name: '❯ Member Counts'
|
||||
value:
|
||||
- '$[emoji#9] Bots **⤏** $[guild:users#bot]'
|
||||
- '$[emoji#10] Members **⤏** $[guild:users#total]'
|
||||
- '**_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\__**'
|
||||
- '$[emoji#12] Online **⤏** `$[guild:users#online]`'
|
||||
- '$[emoji#14] Idle **⤏** `$[guild:users#idle]`'
|
||||
- '$[emoji#13] DnD **⤏** `$[guild:users#dnd]`'
|
||||
- '$[emoji#11] Offline **⤏** `$[guild:users#offline]`'
|
||||
|
||||
image:
|
||||
fetching : '$[emoji#0] Fetching a random image, this may take some time...'
|
||||
|
||||
@@ -73,10 +73,38 @@ info :
|
||||
- '**Cooldown**: $[command:cooldown#formatted]'
|
||||
- '**Argumenten**: $[command:arguments]'
|
||||
fields:
|
||||
- 'Kern'
|
||||
- 'Informatie'
|
||||
- 'Plaatjes'
|
||||
- 'Overig'
|
||||
- 'Ontwikkelaar'
|
||||
guild:
|
||||
fields:
|
||||
guild:
|
||||
name: '❯ Gilde Informatie'
|
||||
value:
|
||||
- '$[emoji#0] **Naam**: $[guild:name] (`$[guild:id]`)'
|
||||
- '$[emoji#1] **Regio**: $[guild:region]'
|
||||
- '$[emoji#2] **Creatie**: $[guild:created@precise] ago (`$[guild:created@exact]`)'
|
||||
- '$[emoji#3] **Inhoudsfilter**: $[guild:explicity]'
|
||||
- '$[emoji#4] **Verificatieniveau**: $[guild:verification]'
|
||||
- '$[emoji#5] **Kanalen [`Tekst` / `Stem`]**: $[guild:fullChannels]'
|
||||
owner:
|
||||
name: '❯ Eigenaar Informatie'
|
||||
value:
|
||||
- '$[emoji#6] **Label**: $[guild:owner#tag] (`$[guild:owner#id]`)'
|
||||
- '$[emoji#7] **Creatie**: $[guild:owner#created@precise] ago (`$[guild:owner#created@exact]`)'
|
||||
- '$[emoji#8] **Avatar**: [Click here]($[guild:owner#avatar])'
|
||||
members:
|
||||
name: '❯ Leden Nummers'
|
||||
value:
|
||||
- '$[emoji#9] Robots **⤏** $[guild:users#bot]'
|
||||
- '$[emoji#10] Leden **⤏** $[guild:users#total]'
|
||||
- '**_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\__**'
|
||||
- '$[emoji#12] Online **⤏** `$[guild:users#online]`'
|
||||
- '$[emoji#14] Idle **⤏** `$[guild:users#idle]`'
|
||||
- '$[emoji#13] DnD **⤏** `$[guild:users#dnd]`'
|
||||
- '$[emoji#11] Offline **⤏** `$[guild:users#offline]`'
|
||||
|
||||
image:
|
||||
fetching : '$[emoji#0] Een willekeurig plaatje aan het ophalen, dit kan enige tijd duren...'
|
||||
|
||||
@@ -45,21 +45,26 @@ module.exports = class Commands extends DiscordCommand {
|
||||
fields : [
|
||||
{
|
||||
name : msg.author.locale['info']['commands']['fields'][0],
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'information' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'core' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
inline: true
|
||||
},
|
||||
{
|
||||
name : msg.author.locale['info']['commands']['fields'][1],
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'image' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'information' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
inline: true
|
||||
},
|
||||
{
|
||||
name : msg.author.locale['info']['commands']['fields'][2],
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'utility' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'image' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
inline: true
|
||||
},
|
||||
{
|
||||
name : msg.author.locale['info']['commands']['fields'][3],
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'utility' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
inline: true
|
||||
},
|
||||
{
|
||||
name : msg.author.locale['info']['commands']['fields'][4],
|
||||
value : this.bot.cmds.filter((v) => v.extData.category.toLowerCase() === 'developer' && !v.extData.hidden).map((v) => `**•** [\`${msg.prefix}${v.extData.name}\`](https://discordapp.com/channels/${msg.channel.guild.id}/${msg.channel.id}/${msg.id}) ${v.extData.description ? `**-** ${v.extData.description}` : ''}`).join('\n'),
|
||||
inline: true
|
||||
}
|
||||
|
||||
118
src/commands/Discord/Information/guild.js
Normal file
118
src/commands/Discord/Information/guild.js
Normal file
@@ -0,0 +1,118 @@
|
||||
const { DiscordCommand } = require('../../../core');
|
||||
|
||||
const moment = require('moment'); require('../../../util/moment/diff.js');
|
||||
|
||||
module.exports = class name extends DiscordCommand {
|
||||
constructor(bot) {
|
||||
super(bot, {
|
||||
name : 'guild',
|
||||
syntax : 'guild <...guild:string>',
|
||||
aliases : [ '<...guild:string>' ],
|
||||
argument : [],
|
||||
description : 'Get a guild\'s information',
|
||||
|
||||
hidden : false,
|
||||
enabled : true,
|
||||
cooldown : 1000,
|
||||
category : 'Information',
|
||||
ownerOnly : false,
|
||||
guildOnly : false,
|
||||
permissions : [ 'embedLinks' ]
|
||||
});
|
||||
|
||||
this.verifications = { '0': 'none', '1': 'low', '2': 'medium', '3': '(╯°□°)╯︵ ┻━┻', '4': '┻━┻ ミヽ(ಠ益ಠ)ノ彡┻━┻' };
|
||||
this.explicits = { '0': 'off', '1': 'everyone without roles', '2': 'everyone' };
|
||||
this.flags = { 'eu-central': '🇪🇺', 'london': '🇬🇧', 'amsterdam': '🇳🇱', 'japan': '🇯🇵',
|
||||
'brazil': '🇧🇷', 'us-west': '🇺🇸', 'hongkong': '🇭🇰', 'sydney': '🇦🇺',
|
||||
'singapore': '🇸🇬', 'us-central': '🇺🇸', 'eu-west': '🇪🇺', 'us-south': '🇺🇸',
|
||||
'us-east': '🇺🇸', 'frankfurt': '🇩🇪', 'russia': '🇷🇺' };
|
||||
}
|
||||
|
||||
async execute(msg, args) {
|
||||
const g = this.bot.REST.getGuild((args.length >= 1 ? args.join(' ') : msg.channel.guild.id));
|
||||
|
||||
if (!g) return msg.channel.createMessage('INVALID');
|
||||
msg.channel.createMessage({
|
||||
embed: {
|
||||
title : g.name,
|
||||
thumbnail: { url: g.iconURL },
|
||||
fields : [
|
||||
{
|
||||
name: msg.author.locale['info']['guild']['fields']['guild']['name'],
|
||||
value: this.localize(msg.author.locale['info']['guild']['fields']['guild']['value'].join('\n'), { guild: g }),
|
||||
inline: true
|
||||
},
|
||||
{
|
||||
name: msg.author.locale['info']['guild']['fields']['owner']['name'],
|
||||
value: this.localize(msg.author.locale['info']['guild']['fields']['owner']['value'].join('\n'), { guild: g }),
|
||||
inline: true
|
||||
},
|
||||
{
|
||||
name: msg.author.locale['info']['guild']['fields']['members']['name'],
|
||||
value: this.localize(msg.author.locale['info']['guild']['fields']['members']['value'].join('\n'), { guild: g }),
|
||||
inline: true
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
localize(msg, extData) {
|
||||
if (!msg) return '';
|
||||
|
||||
if (extData && extData.guild) {
|
||||
const o = this.bot.users.get(extData.guild.ownerID);
|
||||
o.c = moment.preciseDiff(new Date(), new Date(o.createdAt), true);
|
||||
o.cs = [
|
||||
o.c.years >= 1 ? `${o.c.years} years` : undefined,
|
||||
o.c.months >= 1 ? `${o.c.months} months` : undefined,
|
||||
o.c.days >= 1 ? `${o.c.days} days` : undefined
|
||||
].join(' ');
|
||||
|
||||
extData.guild.c = moment.preciseDiff(new Date(), new Date(extData.guild.createdAt), true);
|
||||
extData.guild.cs = [
|
||||
extData.guild.c.years >= 1 ? `${extData.guild.c.years} years` : undefined,
|
||||
extData.guild.c.months >= 1 ? `${extData.guild.c.months} months` : undefined,
|
||||
extData.guild.c.days >= 1 ? `${extData.guild.c.days} days` : undefined
|
||||
].join(' ');
|
||||
|
||||
msg = msg
|
||||
.replace(/\$\[guild:id]/g, extData.guild.id)
|
||||
.replace(/\$\[guild:name]/g, extData.guild.name)
|
||||
.replace(/\$\[guild:region]/g, `${this.flags[extData.guild.region] ? this.flags[extData.guild.region] : this.bot.emote('info', 'guild', '2')} ${extData.guild.region}`)
|
||||
.replace(/\$\[guild:explicity]/g, this.explicits[extData.guild.explicitContentFilter])
|
||||
.replace(/\$\[guild:verification]/g, this.verifications[extData.guild.verificationLevel])
|
||||
.replace(/\$\[guild:fullChannels]/g , `${extData.guild.channels.filter((v) => v.type === 0).length} / ${extData.guild.channels.filter((v) => v.type === 2).length}`)
|
||||
.replace(/\$\[guild:users#bot]/g, extData.guild.members.filter((v) => v.bot).length)
|
||||
.replace(/\$\[guild:users#dnd]/g, extData.guild.members.filter((v) => v.status === 'dnd').length)
|
||||
.replace(/\$\[guild:users#idle]/g, extData.guild.members.filter((v) => v.status === 'idle').length)
|
||||
.replace(/\$\[guild:users#total]/g, extData.guild.members.filter((v) => !v.bot).length)
|
||||
.replace(/\$\[guild:users#online]/g, extData.guild.members.filter((v) => v.status === 'online').length)
|
||||
.replace(/\$\[guild:users#offline]/g, extData.guild.members.filter((v) => v.status === 'offline').length)
|
||||
.replace(/\$\[guild:created@precise]/g, extData.guild.cs)
|
||||
.replace(/\$\[guild:created@exact]/g, moment(extData.guild.createdAt).format('YYYY[/]MM[/]DD HH[:]mm'))
|
||||
.replace(/\$\[guild:owner#id]/g , o.id)
|
||||
.replace(/\$\[guild:owner#tag]/g , `${o.username}#${o.discriminator}`)
|
||||
.replace(/\$\[guild:owner#created@precise]/g, o.cs)
|
||||
.replace(/\$\[guild:owner#created@exact]/g, moment(o.createdAt).format('YYYY[/]MM[/]DD HH[:]mm'))
|
||||
.replace(/\$\[guild:owner#avatar]/g, o.avatar ? o.avatarURL : o.defaultAvatarURL);
|
||||
}
|
||||
|
||||
return msg
|
||||
.replace(/\$\[emoji#0]/g, this.bot.emote('info', 'guild', '0'))
|
||||
.replace(/\$\[emoji#1]/g, this.bot.emote('info', 'guild', '1'))
|
||||
.replace(/\$\[emoji#2]/g, this.bot.emote('info', 'guild', '2'))
|
||||
.replace(/\$\[emoji#3]/g, this.bot.emote('info', 'guild', '3'))
|
||||
.replace(/\$\[emoji#4]/g, this.bot.emote('info', 'guild', '4'))
|
||||
.replace(/\$\[emoji#5]/g, this.bot.emote('info', 'guild', '5'))
|
||||
.replace(/\$\[emoji#6]/g, this.bot.emote('info', 'guild', '6'))
|
||||
.replace(/\$\[emoji#7]/g, this.bot.emote('info', 'guild', '7'))
|
||||
.replace(/\$\[emoji#8]/g, this.bot.emote('info', 'guild', '8'))
|
||||
.replace(/\$\[emoji#9]/g, this.bot.emote('info', 'guild', '9'))
|
||||
.replace(/\$\[emoji#10]/g, this.bot.emote('info', 'guild', '10'))
|
||||
.replace(/\$\[emoji#11]/g, this.bot.emote('info', 'guild', '11'))
|
||||
.replace(/\$\[emoji#12]/g, this.bot.emote('info', 'guild', '12'))
|
||||
.replace(/\$\[emoji#13]/g, this.bot.emote('info', 'guild', '13'))
|
||||
.replace(/\$\[emoji#14]/g, this.bot.emote('info', 'guild', '14'));
|
||||
}
|
||||
};
|
||||
@@ -1,5 +1,6 @@
|
||||
// Main
|
||||
const Webhook = require('./DiscordWebhook');
|
||||
const RESTclient = require('../internal/Discord/rest');
|
||||
const { Client: Eris } = require('eris');
|
||||
// Registries
|
||||
const EventRegistry = require('../registry/Discord/Events');
|
||||
@@ -28,6 +29,7 @@ module.exports = class WumpDiscord extends Eris {
|
||||
this.localeDic = [];
|
||||
|
||||
this.m = options.db;
|
||||
this.REST = new RESTclient(this);
|
||||
this.eventRegistry = new EventRegistry(this);
|
||||
this.localeRegistry = new LocaleRegistry(this);
|
||||
this.commandRegistry = new CommandRegistry(this);
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
module.exports = class RESTclient {
|
||||
constructor(bot) {
|
||||
this.bot = bot;
|
||||
}
|
||||
|
||||
resolveGuild(q) {
|
||||
if (q) return undefined;
|
||||
|
||||
const g = this.bot.guilds.get(q);
|
||||
if (/^\d+$/.test(q)) return g;
|
||||
else {
|
||||
const gs = this.bot.guilds.filter((v) => v.name.toLowerCase().includes(q.toLowerCase()));
|
||||
if (gs.length > 1) return gs[0];
|
||||
else return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
resolveUser(q) {
|
||||
if (!q) return undefined;
|
||||
|
||||
if (/^\d+$/.test(q)) {
|
||||
const u = this.bot.users.get(q);
|
||||
if (u) return u;
|
||||
} else if (/^<@!?(\d+)>$/.test(q)) {
|
||||
const u = this.bot.users.get(q.match(/^<@!?(\d+)>$/)[1]);
|
||||
if (u) return u;
|
||||
} else if (/^(.+)#(\d{4})$/.test(q)) {
|
||||
const m = q.match(/^(.+)#(\d{4})$/);
|
||||
const u = this.bot.users.filter((v) => v.username === m[1] && Number(v.discriminator) === Number(m[2]));
|
||||
if (u.length >= 1) return u[0];
|
||||
} else {
|
||||
const u = this.bot.users.filter((v) => v.username.toLowerCase().includes(q.toLowerCase()));
|
||||
if (u.length >= 1) return u[0];
|
||||
else return undefined;
|
||||
}
|
||||
}
|
||||
};
|
||||
92
src/core/internal/Discord/rest.js
Normal file
92
src/core/internal/Discord/rest.js
Normal file
@@ -0,0 +1,92 @@
|
||||
module.exports = class RESTclient {
|
||||
constructor(bot) {
|
||||
this.bot = bot;
|
||||
}
|
||||
|
||||
getRole($, g) {
|
||||
if (/^\d+$/.test($) && g.roles.get($)) return $;
|
||||
else if (/<@%(\d+)>$/.test($)) {
|
||||
const m = $.match(/^<@&(\d+)>$/);
|
||||
const r = g.roles.get(m[1]);
|
||||
if (r) return $;
|
||||
} else {
|
||||
const r = g.roles.filter((v) => v.name.toLowerCase().includes($.toLowerCase()));
|
||||
if (r.length > 0) return r[0];
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
getUser($) {
|
||||
if (/^\d+$/.test($) && this.bot.users.get($)) return this.bot.users.get($);
|
||||
else if (/^<@!?(\d+)>$/.test($)) {
|
||||
const u = this.bot.users.get($.match(/^<@!?(\d+)>$/)[1]);
|
||||
if (u) return u;
|
||||
}else if (/^(.+)#(\d{4})$/.test($)) {
|
||||
const m = $.match(/^(.+)#(\d{4})$/);
|
||||
const u = this.bot.users.filter((u) => u.username === m[1] && Number(u.discriminator) === Number(m[2]));
|
||||
if (u.length > 0) return u[0];
|
||||
} else {
|
||||
const u = this.bot.users.filter((u) => u.username.toLowerCase().includes($.toLowerCase()));
|
||||
if (u.length > 0) return u[0];
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
getGuild($) {
|
||||
if (/^\d+$/.test($) && this.bot.guilds.get($)) return this.bot.guilds.get($);
|
||||
else {
|
||||
const tmp = this.bot.guilds.filter((v) => v.name.toLowerCase().includes(q.toLowerCase()));
|
||||
if (tmp.length > 0) return tmp[0];
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
getChannel($, g) {
|
||||
let c;
|
||||
|
||||
if (/^\d+$/.test($)) {
|
||||
if (g) {
|
||||
if (!g.channels.has($)) return undefined;
|
||||
return g.channels.get($);
|
||||
} else {
|
||||
c = c in this.bot.channelGuildMap && this.bot.guilds.get(this.bot.channelGuildMap[$]).channels.get($);
|
||||
if (c) return c;
|
||||
}
|
||||
} else if (/^<#(\d+)>$/.test(c)) {
|
||||
const m = $.match(/^<#(\d+)>$/);
|
||||
if ($) {
|
||||
if (!g.channels.has(m[1])) return undefined;
|
||||
return g.channels.get(m[1]);
|
||||
} else {
|
||||
c = m[1] in this.bot.channelGuildMap && this.bot.guilds.get(this.bot.channelGuildMap[m[1]]).channels.get($);
|
||||
if (c) return c;
|
||||
}
|
||||
} else if ($) {
|
||||
c = g.channels.filter((v) => v.name.toLowerCase().includes($.toLowerCase()));
|
||||
if (c.length > 0) return c[0];
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
getMember($, g, n = false) {
|
||||
if (/^\d+$/.test($) && g.members.get($)) return g.members.get($);
|
||||
else if (/^<@!?(\d+)>$/.test($)) {
|
||||
const m = $.match(/^<@!?(\d+)>$/);
|
||||
const u = g.members.get(m[1]);
|
||||
if (u) return u;
|
||||
} else if (/^(.+)#(\d{4})$/.test($)) {
|
||||
const m = $.match(/^(.+)#(\d{4})$/);
|
||||
const u = g.members.filter((v) => v.user.username === m[1] && Number(v.user.discriminator) === Number(m[2]));
|
||||
if (u.length > 0) return u[0];
|
||||
} else if (!n) {
|
||||
const u = g.members.filter((v) => v.user.username.toLowerCase().includes(v.toLowerCase()));
|
||||
if (u.length > 0) return u[0];
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user