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

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

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

revision 127 by rakin, Mon Jul 29 17:28:42 2024 UTC revision 344 by rakin, Mon Jul 29 17:29:40 2024 UTC
# Line 1  Line 1 
1  import { GuildMember } from "discord.js";  import { GuildMember } from "discord.js";
2  import { Op } from "sequelize";  import { Request } from "express";
 import DiscordClient from "../client/Client";  
3  import MessageEmbed from "../client/MessageEmbed";  import MessageEmbed from "../client/MessageEmbed";
4    import Service from "../utils/structures/Service";
5    
6  export default class Verification {  export default class Verification extends Service {
7      constructor(protected client: DiscordClient) {      async success(member: GuildMember, req: Request) {        
   
     }  
   
     async success(member: GuildMember) {          
8          await member.roles.remove(this.client.config.props[member.guild.id].verification.role);          await member.roles.remove(this.client.config.props[member.guild.id].verification.role);
9    
10          await member.send({          try {
11              embeds: [              await member.send({
12                  new MessageEmbed({                  embeds: [
13                      author: {                      new MessageEmbed({
14                          name: member.guild.name,                          author: {
15                          iconURL: member.guild.iconURL() ?? undefined,                              name: member.guild.name,
16                      },                              iconURL: member.guild.iconURL() ?? undefined,
17                      title: "Thanks for verifying!",                          },
18                      description: "The verification was completed successfully!",                          title: "Thanks for verifying!",
19                      timestamp: new Date()                          description: "The verification was completed successfully!",
20                  })                          timestamp: new Date()
21              ],                      })
22          });                  ],
23                });
24            }
25            catch (e) {
26                console.log(e);
27            }
28    
29          const { default: UnverifiedMember } = await import('../models/UnverifiedMember');          const { default: UnverifiedMember } = await import('../models/UnverifiedMember');
30    
31          const data = await UnverifiedMember.findOne({          const data = await UnverifiedMember.findOne({
32              where: {              guild_id: member.guild.id,
33                  guild_id: member.guild.id,              user_id: member.id,
34                  user_id: member.id,              status: 'pending'
                 status: 'pending'  
             }  
35          });          });
36    
37          await data?.set('status', 'done');          await data?.set('status', 'done');
38            await data?.set('ip', req.ip);
39            await data?.set('user_agent', req.get('User-Agent'));
40          await data?.save();          await data?.save();
41      }      }
42    
# Line 45  export default class Verification { Line 46  export default class Verification {
46          await UnverifiedMember.create({          await UnverifiedMember.create({
47              guild_id: member.guild.id,              guild_id: member.guild.id,
48              user_id: member.id,              user_id: member.id,
49              status: 'pending'              status: 'pending',
50                createdAt: new Date()
51          });          });
52    
53          await member.roles.add(this.client.config.props[member.guild.id].verification.role);          await member.roles.add(this.client.config.props[member.guild.id].verification.role);
54    
55          const url = `${this.client.config.props.global.cp_host}/challenge/v1/verify/?guild_id=${member.guild.id}`;          const url = `${this.client.config.props.global.cp_host}/challenge/v1/verify/?guild_id=${member.guild.id}`;
56    
57          await member.send({          try {
58              embeds: [              await member.send({
59                  new MessageEmbed({                  embeds: [
60                      author: {                      new MessageEmbed({
61                          name: member.guild.name,                          author: {
62                          iconURL: member.guild.iconURL() ?? undefined,                              name: member.guild.name,
63                      },                              iconURL: member.guild.iconURL() ?? undefined,
64                      title: "Verification Required!",                          },
65                      description: `Hey ${member.nickname ?? member.user.username}, the server **${member.guild.name}** requires verification!\nTo verify yourself, simply go to the verification URL given below and you might be asked to solve some captcha.\n\nHave a nice day,\n*${member.guild.name} Staff*`,                          title: "Verification Required!",
66                      timestamp: new Date(),                          description: `Hey ${member.nickname ?? member.user.username}, the server **${member.guild.name}** requires verification!\nTo verify yourself, simply go to the verification URL given below and you might be asked to solve some captcha.\n\nHave a nice day,\n*${member.guild.name} Staff*`,
67                      fields: [                          timestamp: new Date(),
68                          {                          fields: [
69                              name: "Verification URL",                              {
70                              value: url                                  name: "Verification URL",
71                          }                                  value: url
72                      ],                              }
73                      url                          ],
74                  })                          url
75              ]                      })
76          });                  ]
77                });
78            }
79            catch (e) {
80                console.log(e);
81            }
82      }      }
 }  
83    }

Legend:
Removed from v.127  
changed lines
  Added in v.344

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26