1 | const log = logger.withScope('discord:login:fetchWebhooks')
|
2 |
|
3 | import { Collection } from 'discord.js'
|
4 |
|
5 | export default async () => {
|
6 | const guilds = discord.guilds.filter(
|
7 | guild => guild.channels.some(
|
8 | channel => connections.hasEndpoint(channel.id)
|
9 | )
|
10 | )
|
11 | log.trace('used guilds', guilds, 1)
|
12 |
|
13 |
|
14 | const webhooks = (await Promise.all(guilds
|
15 | .filter(guild => {
|
16 | const myself = guild.members.find(member => member.id === discord.client.user.id)
|
17 | return myself.hasPermission('MANAGE_WEBHOOKS')
|
18 | })
|
19 | .map(guild => guild.fetchWebhooks())
|
20 | )).reduce((a, b) => a.concat(b), new Collection())
|
21 | discord.webhooks = webhooks.filter(webhook => webhook.name.startsWith('Miscord #'))
|
22 |
|
23 | log.trace('webhooks', discord.webhooks, 1)
|
24 | }
|