Make several event handlers non-blocking for performance
This commit is contained in:
parent
bb8ef2d511
commit
ba01dd9ce5
4 changed files with 10 additions and 3 deletions
|
@ -101,7 +101,7 @@ export class AutoReactions extends Plugin {
|
||||||
if (!realMsg) return;
|
if (!realMsg) return;
|
||||||
|
|
||||||
for (const reaction of autoReaction.reactions) {
|
for (const reaction of autoReaction.reactions) {
|
||||||
await realMsg.addReaction(reaction);
|
realMsg.addReaction(reaction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
|
||||||
import { successMessage } from "../utils";
|
import { successMessage } from "../utils";
|
||||||
|
|
||||||
export class MessageSaverPlugin extends Plugin {
|
export class MessageSaverPlugin extends Plugin {
|
||||||
public static pluginName = 'message_saver';
|
public static pluginName = "message_saver";
|
||||||
|
|
||||||
protected savedMessages: GuildSavedMessages;
|
protected savedMessages: GuildSavedMessages;
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ export class MessageSaverPlugin extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("messageCreate", "guild", false)
|
@d.event("messageCreate", "guild", false)
|
||||||
|
@d.nonBlocking()
|
||||||
async onMessageCreate(msg: Message) {
|
async onMessageCreate(msg: Message) {
|
||||||
// Only save regular chat messages
|
// Only save regular chat messages
|
||||||
if (msg.type !== 0) {
|
if (msg.type !== 0) {
|
||||||
|
@ -40,6 +41,7 @@ export class MessageSaverPlugin extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("messageDelete", "guild", false)
|
@d.event("messageDelete", "guild", false)
|
||||||
|
@d.nonBlocking()
|
||||||
async onMessageDelete(msg: Message) {
|
async onMessageDelete(msg: Message) {
|
||||||
if (msg.type != null && msg.type !== 0) {
|
if (msg.type != null && msg.type !== 0) {
|
||||||
return;
|
return;
|
||||||
|
@ -49,6 +51,7 @@ export class MessageSaverPlugin extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("messageUpdate", "guild", false)
|
@d.event("messageUpdate", "guild", false)
|
||||||
|
@d.nonBlocking()
|
||||||
async onMessageUpdate(msg: Message) {
|
async onMessageUpdate(msg: Message) {
|
||||||
if (msg.type !== 0) {
|
if (msg.type !== 0) {
|
||||||
return;
|
return;
|
||||||
|
@ -58,6 +61,7 @@ export class MessageSaverPlugin extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("messageDeleteBulk", "guild", false)
|
@d.event("messageDeleteBulk", "guild", false)
|
||||||
|
@d.nonBlocking()
|
||||||
async onMessageBulkDelete(messages: Message[]) {
|
async onMessageBulkDelete(messages: Message[]) {
|
||||||
const ids = messages.map(m => m.id);
|
const ids = messages.map(m => m.id);
|
||||||
await this.savedMessages.markBulkAsDeleted(ids);
|
await this.savedMessages.markBulkAsDeleted(ids);
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { LogType } from "../data/LogType";
|
||||||
import { stripObjectToScalars } from "../utils";
|
import { stripObjectToScalars } from "../utils";
|
||||||
|
|
||||||
export class PersistPlugin extends Plugin {
|
export class PersistPlugin extends Plugin {
|
||||||
public static pluginName = 'persist';
|
public static pluginName = "persist";
|
||||||
|
|
||||||
protected persistedData: GuildPersistedData;
|
protected persistedData: GuildPersistedData;
|
||||||
protected logs: GuildLogs;
|
protected logs: GuildLogs;
|
||||||
|
@ -57,6 +57,7 @@ export class PersistPlugin extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("guildMemberAdd")
|
@d.event("guildMemberAdd")
|
||||||
|
@d.nonBlocking()
|
||||||
async onGuildMemberAdd(_, member: Member) {
|
async onGuildMemberAdd(_, member: Member) {
|
||||||
const persistedData = await this.persistedData.find(member.id);
|
const persistedData = await this.persistedData.find(member.id);
|
||||||
if (!persistedData) return;
|
if (!persistedData) return;
|
||||||
|
|
|
@ -81,6 +81,7 @@ export class PingableRoles extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("typingStart")
|
@d.event("typingStart")
|
||||||
|
@d.nonBlocking()
|
||||||
async onTypingStart(channel: TextableChannel, user: User) {
|
async onTypingStart(channel: TextableChannel, user: User) {
|
||||||
const pingableRoles = await this.getPingableRolesForChannel(channel.id);
|
const pingableRoles = await this.getPingableRolesForChannel(channel.id);
|
||||||
if (pingableRoles.length === 0) return;
|
if (pingableRoles.length === 0) return;
|
||||||
|
@ -98,6 +99,7 @@ export class PingableRoles extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
@d.event("messageCreate")
|
@d.event("messageCreate")
|
||||||
|
@d.nonBlocking()
|
||||||
async onMessageCreate(msg: Message) {
|
async onMessageCreate(msg: Message) {
|
||||||
const pingableRoles = await this.getPingableRolesForChannel(msg.channel.id);
|
const pingableRoles = await this.getPingableRolesForChannel(msg.channel.id);
|
||||||
if (pingableRoles.length === 0) return;
|
if (pingableRoles.length === 0) return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue