aboutsummaryrefslogtreecommitdiff
path: root/src/lib/extensions/BotGuild.ts
diff options
context:
space:
mode:
authorTymanWasTaken <32660892+tymanwastaken@users.noreply.github.com>2021-04-27 21:06:22 -0600
committerTymanWasTaken <32660892+tymanwastaken@users.noreply.github.com>2021-04-27 21:06:22 -0600
commit763fb7d98c3accbb21adf035a7cf0a83cb9533c9 (patch)
tree9d333fbca2a2a8e19d79904a4e29226174925cfc /src/lib/extensions/BotGuild.ts
downloadtanzanite-763fb7d98c3accbb21adf035a7cf0a83cb9533c9.tar.gz
tanzanite-763fb7d98c3accbb21adf035a7cf0a83cb9533c9.tar.bz2
tanzanite-763fb7d98c3accbb21adf035a7cf0a83cb9533c9.zip
legit just copy utilibot v2 code
Diffstat (limited to 'src/lib/extensions/BotGuild.ts')
-rw-r--r--src/lib/extensions/BotGuild.ts38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/extensions/BotGuild.ts b/src/lib/extensions/BotGuild.ts
new file mode 100644
index 0000000..22d7834
--- /dev/null
+++ b/src/lib/extensions/BotGuild.ts
@@ -0,0 +1,38 @@
+import { Guild, Structures } from 'discord.js';
+import { BotClient } from './BotClient';
+import { Guild as GuildModel } from '../types/Models';
+
+export class GuildSettings {
+ private guild: BotGuild;
+ constructor(guild: BotGuild) {
+ this.guild = guild;
+ }
+ public async getPrefix(): Promise<string> {
+ return await GuildModel.findByPk(this.guild.id).then(
+ (gm) => gm?.prefix || this.guild.client.config.prefix
+ );
+ }
+ public async setPrefix(value: string): Promise<void> {
+ let entry = await GuildModel.findByPk(this.guild.id);
+ if (!entry) {
+ entry = GuildModel.build({
+ id: this.guild.id,
+ prefix: value
+ });
+ } else {
+ entry.prefix = value;
+ }
+ await entry.save();
+ }
+}
+
+export class BotGuild extends Guild {
+ constructor(client: BotClient, data: Record<string, unknown>) {
+ super(client, data);
+ }
+ static install(): void {
+ Structures.extend('Guild', () => BotGuild);
+ }
+ public settings = new GuildSettings(this);
+ public client: BotClient;
+}