From d3682e4c217cf30e1e7726edaa10e197423db869 Mon Sep 17 00:00:00 2001 From: Erkin Alp Güney Date: Thu, 21 Apr 2022 18:50:12 +0300 Subject: user groups - first steps --- util/src/entities/UserGroup.ts | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 util/src/entities/UserGroup.ts (limited to 'util/src') diff --git a/util/src/entities/UserGroup.ts b/util/src/entities/UserGroup.ts new file mode 100644 index 00000000..b32c2d6d --- /dev/null +++ b/util/src/entities/UserGroup.ts @@ -0,0 +1,44 @@ +import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; + +import { BaseClass } from "./BaseClass"; +import { Guild } from "./Guild"; +import { User } from "./User"; + +@Entity("groups") +export class UserGroup extends BaseClass { + @Column() + color: number; + + @Column() + hoist: boolean; + + @JoinColumn({ name: "controller", referencedColumnName: "id" }) + @ManyToOne(() => User) + controller?: User; + + @Column() + mentionable_by?: string; + + @Column() + name: string; + + @Column() + rights: string; + + @Column({ nullable: true }) + icon: string; + + @Column({ type: "simple-json", nullable: true }) + tags?: { + bot_id?: string; + integration_id?: string; + premium_subscriber?: boolean; + }; + + @Column({ nullable: true }) + parent?: string; + + @Column({ type: "simple-array", nullable: true}) + associciations: string[]; + +} -- cgit 1.5.1 From 266e9c473921cf5f29bf84ddc6379d42ed4876a7 Mon Sep 17 00:00:00 2001 From: Erkin Alp Güney Date: Thu, 21 Apr 2022 18:51:40 +0300 Subject: Update UserGroup.ts --- util/src/entities/UserGroup.ts | 7 ------- 1 file changed, 7 deletions(-) (limited to 'util/src') diff --git a/util/src/entities/UserGroup.ts b/util/src/entities/UserGroup.ts index b32c2d6d..709b9d0b 100644 --- a/util/src/entities/UserGroup.ts +++ b/util/src/entities/UserGroup.ts @@ -27,13 +27,6 @@ export class UserGroup extends BaseClass { @Column({ nullable: true }) icon: string; - - @Column({ type: "simple-json", nullable: true }) - tags?: { - bot_id?: string; - integration_id?: string; - premium_subscriber?: boolean; - }; @Column({ nullable: true }) parent?: string; -- cgit 1.5.1 From 2846e970b4a08fc263fd500260d0bc2c5da7a09e Mon Sep 17 00:00:00 2001 From: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> Date: Sat, 23 Apr 2022 01:28:03 +1000 Subject: Can no longer send messages to channel types that do not support it ( categories, voice etc ) --- api/src/routes/channels/#channel_id/messages/index.ts | 5 +++++ util/src/entities/Channel.ts | 11 +++++++++++ 2 files changed, 16 insertions(+) (limited to 'util/src') diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts index af0ae32d..34cc5ff8 100644 --- a/api/src/routes/channels/#channel_id/messages/index.ts +++ b/api/src/routes/channels/#channel_id/messages/index.ts @@ -183,6 +183,9 @@ router.post( } } const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] }); + if (!channel.isWritable()) { + throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400) + } const embeds = body.embeds || []; if (body.embed) embeds.push(body.embed); @@ -220,6 +223,8 @@ router.post( }) ); } + + //Fix for the client bug delete message.member diff --git a/util/src/entities/Channel.ts b/util/src/entities/Channel.ts index 4bf81901..c516e6a1 100644 --- a/util/src/entities/Channel.ts +++ b/util/src/entities/Channel.ts @@ -352,6 +352,17 @@ export class Channel extends BaseClass { isDm() { return this.type === ChannelType.DM || this.type === ChannelType.GROUP_DM; } + + // Does the channel support sending messages ( eg categories do not ) + isWritable() { + const disallowedChannelTypes = [ + ChannelType.GUILD_CATEGORY, + ChannelType.GUILD_VOICE, // TODO: Remove this when clients can send messages to voice channels on discord.com + ChannelType.GUILD_STAGE_VOICE, + ChannelType.VOICELESS_WHITEBOARD, + ]; + return disallowedChannelTypes.indexOf(this.type) == -1; + } } export interface ChannelPermissionOverwrite { -- cgit 1.5.1