some abaddon compat
This commit is contained in:
parent
45e7d763cf
commit
496cfc8ea1
@ -144,44 +144,46 @@ router.get(
|
|||||||
|
|
||||||
const endpoint = Config.get().cdn.endpointPublic;
|
const endpoint = Config.get().cdn.endpointPublic;
|
||||||
|
|
||||||
return res.json(
|
const ret = messages.map((x: Message) => {
|
||||||
messages.map((x: Partial<Message>) => {
|
x = x.toJSON();
|
||||||
(x.reactions || []).forEach((y: Partial<Reaction>) => {
|
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
||||||
//@ts-ignore
|
|
||||||
if ((y.user_ids || []).includes(req.user_id)) y.me = true;
|
|
||||||
delete y.user_ids;
|
|
||||||
});
|
|
||||||
if (!x.author)
|
|
||||||
x.author = User.create({
|
|
||||||
id: "4",
|
|
||||||
discriminator: "0000",
|
|
||||||
username: "Spacebar Ghost",
|
|
||||||
public_flags: 0,
|
|
||||||
});
|
|
||||||
x.attachments?.forEach((y: Attachment) => {
|
|
||||||
// dynamically set attachment proxy_url in case the endpoint changed
|
|
||||||
const uri = y.proxy_url.startsWith("http")
|
|
||||||
? y.proxy_url
|
|
||||||
: `https://example.org${y.proxy_url}`;
|
|
||||||
y.proxy_url = `${endpoint == null ? "" : endpoint}${
|
|
||||||
new URL(uri).pathname
|
|
||||||
}`;
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
(x.reactions || []).forEach((y: Partial<Reaction>) => {
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
//@ts-ignore
|
||||||
|
if ((y.user_ids || []).includes(req.user_id)) y.me = true;
|
||||||
|
delete y.user_ids;
|
||||||
|
});
|
||||||
|
if (!x.author)
|
||||||
|
x.author = User.create({
|
||||||
|
id: "4",
|
||||||
|
discriminator: "0000",
|
||||||
|
username: "Spacebar Ghost",
|
||||||
|
public_flags: 0,
|
||||||
|
});
|
||||||
|
x.attachments?.forEach((y: Attachment) => {
|
||||||
|
// dynamically set attachment proxy_url in case the endpoint changed
|
||||||
|
const uri = y.proxy_url.startsWith("http")
|
||||||
|
? y.proxy_url
|
||||||
|
: `https://example.org${y.proxy_url}`;
|
||||||
|
y.proxy_url = `${endpoint == null ? "" : endpoint}${
|
||||||
|
new URL(uri).pathname
|
||||||
|
}`;
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
Some clients ( discord.js ) only check if a property exists within the response,
|
Some clients ( discord.js ) only check if a property exists within the response,
|
||||||
which causes errors when, say, the `application` property is `null`.
|
which causes errors when, say, the `application` property is `null`.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
// for (var curr in x) {
|
// for (var curr in x) {
|
||||||
// if (x[curr] === null)
|
// if (x[curr] === null)
|
||||||
// delete x[curr];
|
// delete x[curr];
|
||||||
// }
|
// }
|
||||||
|
|
||||||
return x;
|
return x;
|
||||||
}),
|
});
|
||||||
);
|
|
||||||
|
return res.json(ret);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -307,9 +309,11 @@ router.post(
|
|||||||
embeds,
|
embeds,
|
||||||
channel_id,
|
channel_id,
|
||||||
attachments,
|
attachments,
|
||||||
edited_timestamp: undefined,
|
|
||||||
timestamp: new Date(),
|
timestamp: new Date(),
|
||||||
});
|
});
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
//@ts-ignore dont care2
|
||||||
|
message.edited_timestamp = null;
|
||||||
|
|
||||||
channel.last_message_id = message.id;
|
channel.last_message_id = message.id;
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ export class Message extends BaseClass {
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Column({ nullable: true })
|
@Column({ nullable: true })
|
||||||
flags?: string;
|
flags?: number;
|
||||||
|
|
||||||
@Column({ type: "simple-json", nullable: true })
|
@Column({ type: "simple-json", nullable: true })
|
||||||
message_reference?: {
|
message_reference?: {
|
||||||
@ -217,6 +217,30 @@ export class Message extends BaseClass {
|
|||||||
|
|
||||||
@Column({ type: "simple-json", nullable: true })
|
@Column({ type: "simple-json", nullable: true })
|
||||||
components?: MessageComponent[];
|
components?: MessageComponent[];
|
||||||
|
|
||||||
|
toJSON(): Message {
|
||||||
|
return {
|
||||||
|
...this,
|
||||||
|
author_id: undefined,
|
||||||
|
member_id: undefined,
|
||||||
|
guild_id: undefined,
|
||||||
|
webhook_id: undefined,
|
||||||
|
application_id: undefined,
|
||||||
|
nonce: undefined,
|
||||||
|
|
||||||
|
tts: this.tts ?? false,
|
||||||
|
guild: this.guild ?? undefined,
|
||||||
|
webhook: this.webhook ?? undefined,
|
||||||
|
interaction: this.interaction ?? undefined,
|
||||||
|
reactions: this.reactions ?? undefined,
|
||||||
|
sticker_items: this.sticker_items ?? undefined,
|
||||||
|
message_reference: this.message_reference ?? undefined,
|
||||||
|
author: this.author?.toPublicUser() ?? undefined,
|
||||||
|
activity: this.activity ?? undefined,
|
||||||
|
application: this.application ?? undefined,
|
||||||
|
components: this.components ?? undefined,
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MessageComponent {
|
export interface MessageComponent {
|
||||||
|
@ -29,7 +29,7 @@ export interface MessageCreateSchema {
|
|||||||
nonce?: string;
|
nonce?: string;
|
||||||
channel_id?: string;
|
channel_id?: string;
|
||||||
tts?: boolean;
|
tts?: boolean;
|
||||||
flags?: string;
|
flags?: number;
|
||||||
embeds?: Embed[];
|
embeds?: Embed[];
|
||||||
embed?: Embed;
|
embed?: Embed;
|
||||||
// TODO: ^ embed is deprecated in favor of embeds (https://discord.com/developers/docs/resources/channel#message-object)
|
// TODO: ^ embed is deprecated in favor of embeds (https://discord.com/developers/docs/resources/channel#message-object)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user