Make several event handlers non-blocking for performance

This commit is contained in:
Dragory 2019-01-13 23:31:09 +02:00
parent bb8ef2d511
commit ba01dd9ce5
4 changed files with 10 additions and 3 deletions

View file

@ -101,7 +101,7 @@ export class AutoReactions extends Plugin {
if (!realMsg) return;
for (const reaction of autoReaction.reactions) {
await realMsg.addReaction(reaction);
realMsg.addReaction(reaction);
}
}
}

View file

@ -4,7 +4,7 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
import { successMessage } from "../utils";
export class MessageSaverPlugin extends Plugin {
public static pluginName = 'message_saver';
public static pluginName = "message_saver";
protected savedMessages: GuildSavedMessages;
@ -30,6 +30,7 @@ export class MessageSaverPlugin extends Plugin {
}
@d.event("messageCreate", "guild", false)
@d.nonBlocking()
async onMessageCreate(msg: Message) {
// Only save regular chat messages
if (msg.type !== 0) {
@ -40,6 +41,7 @@ export class MessageSaverPlugin extends Plugin {
}
@d.event("messageDelete", "guild", false)
@d.nonBlocking()
async onMessageDelete(msg: Message) {
if (msg.type != null && msg.type !== 0) {
return;
@ -49,6 +51,7 @@ export class MessageSaverPlugin extends Plugin {
}
@d.event("messageUpdate", "guild", false)
@d.nonBlocking()
async onMessageUpdate(msg: Message) {
if (msg.type !== 0) {
return;
@ -58,6 +61,7 @@ export class MessageSaverPlugin extends Plugin {
}
@d.event("messageDeleteBulk", "guild", false)
@d.nonBlocking()
async onMessageBulkDelete(messages: Message[]) {
const ids = messages.map(m => m.id);
await this.savedMessages.markBulkAsDeleted(ids);

View file

@ -7,7 +7,7 @@ import { LogType } from "../data/LogType";
import { stripObjectToScalars } from "../utils";
export class PersistPlugin extends Plugin {
public static pluginName = 'persist';
public static pluginName = "persist";
protected persistedData: GuildPersistedData;
protected logs: GuildLogs;
@ -57,6 +57,7 @@ export class PersistPlugin extends Plugin {
}
@d.event("guildMemberAdd")
@d.nonBlocking()
async onGuildMemberAdd(_, member: Member) {
const persistedData = await this.persistedData.find(member.id);
if (!persistedData) return;

View file

@ -81,6 +81,7 @@ export class PingableRoles extends Plugin {
}
@d.event("typingStart")
@d.nonBlocking()
async onTypingStart(channel: TextableChannel, user: User) {
const pingableRoles = await this.getPingableRolesForChannel(channel.id);
if (pingableRoles.length === 0) return;
@ -98,6 +99,7 @@ export class PingableRoles extends Plugin {
}
@d.event("messageCreate")
@d.nonBlocking()
async onMessageCreate(msg: Message) {
const pingableRoles = await this.getPingableRolesForChannel(msg.channel.id);
if (pingableRoles.length === 0) return;