3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 20:35:02 +00:00

Centralize DM logic, don't attempt DMs for an hour after a 20026 error

This commit is contained in:
Dragory 2020-08-21 03:44:38 +03:00
parent 1d4c32d8f9
commit 902be16ae8
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
5 changed files with 60 additions and 16 deletions

View file

@ -3,6 +3,7 @@ import { renderTemplate } from "src/templateFormatter";
import { createChunkedMessage, stripObjectToScalars } from "src/utils";
import { LogType } from "src/data/LogType";
import { TextChannel } from "eris";
import { sendDM } from "../../../utils/sendDM";
export const SendWelcomeMessageEvt = welcomeEvent({
event: "guildMemberAdd",
@ -21,14 +22,11 @@ export const SendWelcomeMessageEvt = welcomeEvent({
if (config.send_dm) {
try {
console.log(`Sending welcome message to ${member.id}`);
const dmChannel = await member.user.getDMChannel();
if (!dmChannel) return;
await createChunkedMessage(dmChannel, formatted);
await sendDM(member.user, formatted, "welcome message");
} catch (e) {
pluginData.state.logs.log(LogType.BOT_ALERT, {
body: `Failed send a welcome DM to {userMention(member)}`,
member: stripObjectToScalars(member, ["user"]),
pluginData.state.logs.log(LogType.DM_FAILED, {
source: "welcome message",
user: stripObjectToScalars(member.user),
});
}
}