3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-18 07:35:02 +00:00

Fully functioning and loaded from the config

This commit is contained in:
Nils Blömeke 2019-07-27 22:29:29 +02:00
parent c2935bd1d7
commit 703b24c64e
6 changed files with 293 additions and 317 deletions

View file

@ -0,0 +1,54 @@
import { BaseGuildRepository } from "./BaseGuildRepository";
import { getRepository, Repository } from "typeorm";
import { StarboardMessage } from "./entities/StarboardMessage";
export class GuildStarboardMessages extends BaseGuildRepository {
private allStarboardMessages: Repository<StarboardMessage>;
constructor(guildId) {
super(guildId);
this.allStarboardMessages = getRepository(StarboardMessage);
}
async getStarboardMessagesForMessageId(messageId: string) {
return this.allStarboardMessages
.createQueryBuilder()
.where("guild_id = :gid", { gid: this.guildId })
.andWhere("message_id = :msgid", { msgid: messageId })
.getMany();
}
async getStarboardMessagesForStarboardMessageId(starboardMessageId: string) {
return this.allStarboardMessages
.createQueryBuilder()
.where("guild_id = :gid", { gid: this.guildId })
.andWhere("starboard_message_id = :messageId", { messageId: starboardMessageId })
.getMany();
}
async getMessagesForStarboardIdAndSourceMessageId(starboardId: string, sourceMessageId: string) {
return await this.allStarboardMessages
.createQueryBuilder()
.where("guild_id = :gid", { gid: this.guildId })
.andWhere("message_id = :msgId", { msgId: sourceMessageId })
.andWhere("starboard_channel_id = :sbId", { sbId: starboardId })
.getMany();
}
async createStarboardMessage(starboardId: string, messageId: string, starboardMessageId: string) {
await this.allStarboardMessages.insert({
message_id: messageId,
starboard_message_id: starboardMessageId,
starboard_channel_id: starboardId,
guild_id: this.guildId,
});
}
async deleteStarboardMessage(starboardMessageId: string, starboardChannelId: string) {
await this.allStarboardMessages.delete({
guild_id: this.guildId,
starboard_message_id: starboardMessageId,
starboard_channel_id: starboardChannelId,
});
}
}