-
Notifications
You must be signed in to change notification settings - Fork 3
/
client.js
37 lines (32 loc) · 848 Bytes
/
client.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const { Client } = require('discord.js')
module.exports = class AGClient extends Client {
/**
* @param {import('discord.js').ClientOptions} clientOptions
*/
constructor(clientOptions, data) {
super(clientOptions)
this.env = data
}
/**
* **Subject list:**
* * `channel`
* * `guild`
* * `client`
*
* **Types list:**
* * `message`
* * `channel`
* * `guild`
* * `user`
* * `member`
* * `role`
*
* @param {Discord.Guild|Discord.TextBasedChannel|Discord.Client} subject - A client, a guild or a channel
* @param {string} id
* @param {'channel'|'user'|'role'|'guild'|'message'} type
*/
fetch(subject, id, type) {
id = id || 'unknown'
return subject[type + 's'].fetch(id).catch(() => undefined)
}
}