/[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 199 by rakin, Mon Jul 29 17:28:59 2024 UTC revision 226 by rakin, Mon Jul 29 17:29:06 2024 UTC
# Line 2  import { GuildMember, MessageEmbed, Text Line 2  import { GuildMember, MessageEmbed, Text
2  import DiscordClient from "../client/Client";  import DiscordClient from "../client/Client";
3  import fs from 'fs';  import fs from 'fs';
4  import path from "path";  import path from "path";
5    import Service from "../utils/structures/Service";
6    
7  export default class Welcomer {  export default class Welcomer extends Service {
8      messages: string[] = JSON.parse(fs.readFileSync(path.resolve(__dirname, '..', '..', 'resources', 'welcome_messages.json')).toString());      messages: string[] = JSON.parse(fs.readFileSync(path.resolve(__dirname, '..', '..', 'resources', 'welcome_messages.json')).toString());
9        
10      constructor(protected client: DiscordClient) {      async start(member: GuildMember, index?: number) {
   
     }  
   
     async start(member: GuildMember) {  
11          if (this.client.config.props[member.guild.id].welcomer.enabled) {          if (this.client.config.props[member.guild.id].welcomer.enabled) {
12              const { message, channel: channelID } = this.client.config.props[member.guild.id].welcomer;              const { message, channel: channelID } = this.client.config.props[member.guild.id].welcomer;
13              const content = (message ?? this.generateMessage())              const content = (message ?? this.generateMessage(index))
14                                      .replace(':name:', member.displayName)                                      .replace(':name:', member.displayName)
15                                      .replace(':tag:', member.user.tag)                                      .replace(':tag:', member.user.tag)
16                                      .replace(':username:', member.user.username)                                      .replace(':username:', member.user.username)
# Line 28  export default class Welcomer { Line 25  export default class Welcomer {
25    
26                  if (channel) {                  if (channel) {
27                      await channel.send({                      await channel.send({
28                            content: member.toString(),
29                          embeds: [                          embeds: [
30                              new MessageEmbed({                              new MessageEmbed({
31                                  author: {                                  author: {
# Line 48  export default class Welcomer { Line 46  export default class Welcomer {
46          }          }
47      }      }
48    
49      generateMessage() {      generateMessage(index?: number) {
50          return this.messages[Math.floor(this.messages.length * Math.random())];          return this.messages[index ?? Math.floor(this.messages.length * Math.random())];
51      }      }
52  }  }

Legend:
Removed from v.199  
changed lines
  Added in v.226

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26