diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts
index 474e7be7..2c927403 100644
--- a/src/api/util/handlers/Message.ts
+++ b/src/api/util/handlers/Message.ts
@@ -322,6 +322,7 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
const message = Message.create({
...opts,
+ message_reference: opts.message_reference ?? undefined,
poll: opts.poll,
sticker_items: stickers,
guild_id: channel.guild_id,
@@ -332,8 +333,8 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
type: opts.type ?? 0,
mentions: [],
components: opts.components ?? undefined, // Fix Discord-Go?
- message_reference: opts.message_reference ?? undefined,
});
+ message.channel = channel;
const batchId = `CLOUD_${message.author_id}_${randomString(128)}`;
if (opts.author_id) {
@@ -463,6 +464,7 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
permission.hasThrow("SEND_MESSAGES");
if (permission.cache.member) {
message.member = permission.cache.member;
+ console.log(message.member.flags);
}
if (opts.tts) permission.hasThrow("SEND_TTS_MESSAGES");
diff --git a/src/api/util/handlers/route.ts b/src/api/util/handlers/route.ts
index 43aab155..455ce21b 100644
--- a/src/api/util/handlers/route.ts
+++ b/src/api/util/handlers/route.ts
@@ -113,6 +113,7 @@ export function route(opts: RouteOptions) {
if (validate && !ignoredRequestSchemas.includes(opts.requestBody!)) {
const valid = validate(req.body);
if (!valid) {
+ console.log(req.body);
const fields: Record<string, { code?: string; message: string }> = {};
validate.errors?.forEach(
(x) =>
diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts
index ce0bd8ef..cfa2b497 100644
--- a/src/gateway/opcodes/Identify.ts
+++ b/src/gateway/opcodes/Identify.ts
@@ -780,11 +780,12 @@ export async function onIdentify(this: WebSocket, data: Payload) {
// If we're a bot user, send GUILD_CREATE for each unavailable guild
// TODO: check if bot has permission to view some of these based on intents (i.e. GUILD_MEMBERS, GUILD_PRESENCES, GUILD_VOICE_STATES)
+
await Promise.all(
pending_guilds.map((x) => {
//Even with the GUILD_MEMBERS intent, the bot always receives just itself as the guild members
const botMemberObject = members.find((member) => member.guild_id === x.id);
-
+ //Object.assign(x, { threads: [] });
return Send(this, {
op: OPCODES.Dispatch,
t: EVENTEnum.GuildCreate,
diff --git a/src/util/entities/Channel.ts b/src/util/entities/Channel.ts
index 9c7ddb57..ffb1c6ed 100644
--- a/src/util/entities/Channel.ts
+++ b/src/util/entities/Channel.ts
@@ -710,6 +710,20 @@ export class Channel extends BaseClass {
rate_limit_per_user: this.rate_limit_per_user || undefined,
owner_id: this.owner_id || undefined,
...(this.isThread() && this.thread_members ? { member_ids_preview: this.thread_members.map((_) => _.member.id) } : {}),
+ default_auto_archive_duration: this.default_auto_archive_duration ?? undefined,
+ retention_policy_id: undefined,
+ thread_metadata: this.thread_metadata
+ ? {
+ ...this.thread_metadata,
+ archive_timestamp: new Date(this.thread_metadata.archive_timestamp).toISOString().replace("Z", "+00:00"),
+ create_timestamp: new Date(this.thread_metadata.create_timestamp).toISOString().replace("Z", "+00:00"),
+ }
+ : undefined,
+ member_count: this.member_count ?? undefined,
+ message_count: this.message_count ?? undefined,
+ total_message_sent: this.total_message_sent ?? undefined,
+ applied_tags: this.applied_tags ?? undefined,
+ permission_overwrites: this.isThread() ? undefined : this.permission_overwrites,
};
}
}
diff --git a/src/util/entities/Guild.ts b/src/util/entities/Guild.ts
index 29d4de58..711319ae 100644
--- a/src/util/entities/Guild.ts
+++ b/src/util/entities/Guild.ts
@@ -480,6 +480,10 @@ export class Guild extends BaseClass {
discovery_weight: undefined,
discovery_excluded: undefined,
parent: undefined,
+ primary_category_id: undefined,
+ nsfw: undefined,
+ template_id: undefined,
+ presence_count: undefined,
};
}
}
diff --git a/src/util/entities/Message.ts b/src/util/entities/Message.ts
index 1fb417a5..448510ad 100644
--- a/src/util/entities/Message.ts
+++ b/src/util/entities/Message.ts
@@ -259,6 +259,7 @@ export class Message extends BaseClass {
toJSON(shallow = false): Message {
return {
...this,
+ channel: undefined,
author_id: undefined,
member_id: undefined,
webhook_id: this.webhook_id ?? undefined,
diff --git a/src/util/migration/postgres/1772404321400-MemberFlags.ts b/src/util/migration/postgres/1772404321400-MemberFlags.ts
index bc1bd68b..011c3e4e 100644
--- a/src/util/migration/postgres/1772404321400-MemberFlags.ts
+++ b/src/util/migration/postgres/1772404321400-MemberFlags.ts
@@ -10,4 +10,4 @@ export class MemberFlags1772404321400 implements MigrationInterface {
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "members" DROP COLUMN "flags"`);
}
-}
\ No newline at end of file
+}
diff --git a/src/util/migrations/postgres/1772403866471-MemberFlags.ts b/src/util/migrations/postgres/1772403866471-MemberFlags.ts
new file mode 100644
index 00000000..8aaf0c4c
--- /dev/null
+++ b/src/util/migrations/postgres/1772403866471-MemberFlags.ts
@@ -0,0 +1,13 @@
+import { MigrationInterface, QueryRunner } from "typeorm";
+
+export class MemberFlags1772403866471 implements MigrationInterface {
+ name = "MemberFlags1772403866471";
+
+ public async up(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(`ALTER TABLE "members" ADD "flags" integer NOT NULL DEFAULT '0'`);
+ }
+
+ public async down(queryRunner: QueryRunner): Promise<void> {
+ await queryRunner.query(`ALTER TABLE "members" DROP COLUMN "flags"`);
+ }
+}
|