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 cf1ffbe71e
commit 90b9d31320
No known key found for this signature in database
GPG key ID: F403F80B79353CB4
2 changed files with 40 additions and 9 deletions

View file

@ -25,7 +25,28 @@ export class GuildSavedMessages extends BaseGuildRepository<SavedMessage> {
this.toBePermanent = new Set();
}
<<<<<<< HEAD
protected msgToSavedMessageData(msg: Message): ISavedMessageData {
=======
public static msgToSavedMessage(message: Message): SavedMessage {
const postedAt = moment.utc(message.createdTimestamp, "x").format("YYYY-MM-DD HH:mm:ss");
return {
data: GuildSavedMessages.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,
};
}
public static msgToSavedMessageData(msg: Message): ISavedMessageData {
>>>>>>> clean up
const data: ISavedMessageData = {
author: {
username: msg.author.username,
@ -206,8 +227,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);
>>>>>>> clean up
const postedAt = moment.utc(msg.createdTimestamp, "x").format("YYYY-MM-DD HH:mm:ss");
return {
@ -307,9 +332,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);
>>>>>>> clean up
}
async setPermanent(id: string): Promise<void> {

View file

@ -1,5 +1,6 @@
import { typedGuildEventListener } from "knub";
import { RecentActionType } from "../constants";
import { GuildSavedMessages } from "../../../data/GuildSavedMessages";
import { runAutomod } from "../functions/runAutomod";
import { AutomodContext, AutomodPluginType } from "../types";
@ -19,18 +20,17 @@ export const RunAutomodOnThreadCreate = typedGuildEventListener<AutomodPluginTyp
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 = GuildSavedMessages.msgToSavedMessage(sourceMessage);
savedMessage.channel_id = thread.id;
context.message = savedMessage;
}
pluginData.state.queue.add(() => {