/[sudobot]/trunk/src/services/Welcomer.ts
ViewVC logotype

Diff of /trunk/src/services/Welcomer.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 247 by rakin, Mon Jul 29 17:29:12 2024 UTC revision 378 by rakin, Mon Jul 29 17:29:52 2024 UTC
# Line 1  Line 1 
1  import { GuildMember, MessageEmbed, TextChannel } from "discord.js";  import { GuildMember, MessageEmbed, TextChannel } from "discord.js";
 import DiscordClient from "../client/Client";  
2  import fs from 'fs';  import fs from 'fs';
3  import path from "path";  import path from "path";
4  import Service from "../utils/structures/Service";  import Service from "../utils/structures/Service";
5    
6  export default class Welcomer extends Service {  export default class Welcomer extends Service {
7      messages: string[] = JSON.parse(fs.readFileSync(path.resolve(__dirname, '..', '..', 'resources', 'welcome_messages.json')).toString());      messages: string[] = JSON.parse(fs.readFileSync(path.resolve(process.env.SUDO_PREFIX ?? path.join(__dirname, '..', '..'), 'resources', 'welcome_messages.json')).toString());
8    
9      generateEmbed(member: GuildMember, index?: number) {      generateEmbed(member: GuildMember, index?: number) {
10          const { message, randomize } = this.client.config.props[member.guild.id].welcomer;          const { message, randomize } = this.client.config.props[member.guild.id].welcomer;
11          let content = message ?? '';          let content: string = message ?? '';
12    
13          if (randomize) {          if (randomize) {
14              content = this.generateMessage(index) + (message ? "\n" + content : '');              content = this.generateMessage(index) + (message ? "\n" + content : '');
# Line 20  export default class Welcomer extends Se Line 19  export default class Welcomer extends Se
19          }          }
20    
21          content = content          content = content
22              .replace(':name:', member.displayName)              .replace(/:name:/g, member.displayName)
23              .replace(':tag:', member.user.tag)              .replace(/:tag:/g, member.user.tag)
24              .replace(':username:', member.user.username)              .replace(/:username:/g, member.user.username)
25              .replace(':discrim:', member.user.discriminator)              .replace(/:discrim:/g, member.user.discriminator)
26              .replace(':avatar:', member.displayAvatarURL())              .replace(/:avatar:/g, member.displayAvatarURL())
27              .replace(':date:', `<t:${member.joinedAt?.getTime()}>`)              .replace(/:date:/g, `<t:${member.joinedAt?.getTime()}>`)
28              .replace(':guild:', member.guild.name)              .replace(/:guild:/g, member.guild.name)
29              .replace(':mention:', member.toString());              .replace(/:mention:/g, member.toString());
30    
31          return {          return {
32              content: member.toString(),              content: member.toString(),

Legend:
Removed from v.247  
changed lines
  Added in v.378

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26