3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-23 17:45:03 +00:00
This commit is contained in:
almeidx 2021-09-01 17:04:56 +01:00
parent 2d3bd38e5b
commit b147246811
No known key found for this signature in database
GPG key ID: F403F80B79353CB4
2 changed files with 37 additions and 9 deletions

View file

@ -25,6 +25,23 @@ export class GuildSavedMessages extends BaseGuildRepository<SavedMessage> {
this.toBePermanent = new Set();
}
public msgToSavedMessage(message: Message): SavedMessage {
const postedAt = moment.utc(message.createdTimestamp, "x").format("YYYY-MM-DD HH:mm:ss");
return {
data: this.msgToSavedMessageData(message),
id: message.id,
guild_id: (message.channel as GuildChannel).guildId,
channel_id: message.channelId,
user_id: message.author.id,
is_bot: message.author.bot,
posted_at: postedAt,
// @ts-expect-error
deleted_at: null,
is_permanent: false,
};
}
protected msgToSavedMessageData(msg: Message): ISavedMessageData {
const data: ISavedMessageData = {
author: {
@ -206,8 +223,12 @@ export class GuildSavedMessages extends BaseGuildRepository<SavedMessage> {
await this.insertBulk(items);
}
<<<<<<< HEAD
protected async msgToInsertReadyEntity(msg: Message): Promise<Partial<SavedMessage>> {
const savedMessageData = this.msgToSavedMessageData(msg);
=======
const savedMessageData = GuildSavedMessages.msgToSavedMessageData(msg);
>>>>>>> 95a0ce8c (clean up)
const postedAt = moment.utc(msg.createdTimestamp, "x").format("YYYY-MM-DD HH:mm:ss");
return {
@ -307,9 +328,15 @@ export class GuildSavedMessages extends BaseGuildRepository<SavedMessage> {
this.events.emit(`update:${id}`, [newMessage, oldMessage]);
}
<<<<<<< HEAD
async saveEditFromMsg(msg: Message): Promise<void> {
const newData = this.msgToSavedMessageData(msg);
await this.saveEdit(msg.id, newData);
=======
async saveEditFromMsg(msg: Message) {
const newData = GuildSavedMessages.msgToSavedMessageData(msg);
return this.saveEdit(msg.id, newData);
>>>>>>> 95a0ce8c (clean up)
}
async setPermanent(id: string): Promise<void> {

View file

@ -1,4 +1,5 @@
import { typedGuildEventListener } from "knub";
import { GuildSavedMessages } from "../../../data/GuildSavedMessages";
import { runAutomod } from "../functions/runAutomod";
import { AutomodContext, AutomodPluginType } from "../types";
@ -17,18 +18,18 @@ export const RunAutomodOnThreadCreate = typedGuildEventListener<AutomodPluginTyp
user,
channel: thread,
};
const sourceChannel = pluginData.client.channels.cache.find((c) => c.id === thread.parentId);
if (sourceChannel?.isText()) {
// This is a hack to make this trigger compatible with the reply action
const sourceChannel = thread.parent ?? pluginData.client.channels.cache.find((c) => c.id === thread.parentId);
messageBlock: if (sourceChannel?.isText()) {
const sourceMessage = sourceChannel.messages.cache.find(
(m) => m.thread?.id === thread.id || m.reference?.channelId === thread.id,
);
if (sourceMessage) {
const message = await pluginData.state.savedMessages.find(sourceMessage.id);
if (message) {
message.channel_id = thread.id;
context.message = message;
}
}
if (!sourceMessage) break messageBlock;
const savedMessage = pluginData.state.savedMessages.msgToSavedMessage(sourceMessage);
savedMessage.channel_id = thread.id;
context.message = savedMessage;
}
pluginData.state.queue.add(() => {