-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathservers.ts
31 lines (25 loc) · 1.02 KB
/
servers.ts
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
import {Server} from "./models/server";
import {ChannelType} from 'discord-api-types/v10';
import {Marie} from "./client";
export function createServer(guildId: string) {
const server = new Server({id: guildId})
server.save().then()
return server
}
export async function init(client: Marie) {
for (const g of await client.guilds.fetch()) {
const guild = await client.guilds.fetch(g[0])
let server = await Server.findOne({id: guild.id}).exec() || await createServer(guild.id);
// Cache reaction messages
for (let reactionRole of server.reactionRoles) {
const channel = await client.channels.fetch(reactionRole.channelId)
if (!channel || channel.type != ChannelType.GuildText) {
break;
}
const msg = await channel.messages.fetch(reactionRole.messageId)
reactionRole.messageId = msg.id
const role = await guild.roles.fetch(reactionRole.roleId)
reactionRole.roleId = role!.id
}
}
}