/[sudobot]/trunk/src/commands/moderation/UnmuteCommand.ts
ViewVC logotype

Diff of /trunk/src/commands/moderation/UnmuteCommand.ts

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

revision 106 by rakin, Mon Jul 29 17:28:37 2024 UTC revision 159 by rakin, Mon Jul 29 17:28:49 2024 UTC
# Line 16  export async function unmute(client: Dis Line 16  export async function unmute(client: Dis
16          await History.create(user.id, user.guild!, 'unmute', d.id, null);          await History.create(user.id, user.guild!, 'unmute', d.id, null);
17    
18          const role = await user.guild!.roles.fetch(client.config.props[user.guild.id].mute_role);          const role = await user.guild!.roles.fetch(client.config.props[user.guild.id].mute_role);
19          await user.roles.remove(role!);          await user.roles.remove(role!, 'Unmuting user');
20    
21          const { default: Punishment } = await import('../../models/Punishment');          const { default: Punishment } = await import('../../models/Punishment');
22    
23          const { getTimeouts, clearTimeoutv2 } = await import('../../utils/setTimeout');          const { getTimeouts, clearTimeoutv2 } = await import('../../utils/setTimeout');
24    
25            const { default: Hardmute } = await import("../../models/Hardmute");
26    
27            const hardmute = await Hardmute.findOne({
28                where: {
29                    user_id: user.id,
30                    guild_id: user.guild.id,
31                },
32                order: [
33                    ['id', 'DESC']
34                ]
35            });
36    
37            if (hardmute) {
38                for await (const roleID of hardmute.get().roles) {
39                    try {
40                        const role = await user.guild.roles.fetch(roleID);
41    
42                        if (role) {
43                            await user.roles.add(role, 'Adding the roles which were removed due to hardmute');
44                        }
45                    }
46                    catch (e) {
47                        console.log(e);                    
48                    }
49                }
50    
51                await hardmute.destroy();
52            }
53    
54          const timeouts = getTimeouts();          const timeouts = getTimeouts();
55                    
56          for (const timeout of timeouts.values()) {          for (const timeout of timeouts.values()) {
# Line 49  export async function unmute(client: Dis Line 78  export async function unmute(client: Dis
78              mod_tag: d.tag,              mod_tag: d.tag,
79          });          });
80    
81          await user.send({          try {
82              embeds: [              await user.send({
83                  new MessageEmbed()                  embeds: [
84                  .setAuthor({                      new MessageEmbed()
85                      iconURL: <string> user.guild!.iconURL(),                      .setAuthor({
86                      name: `\tYou have been unmuted in ${user.guild!.name}`                          iconURL: <string> user.guild!.iconURL(),
87                  })                          name: `\tYou have been unmuted in ${user.guild!.name}`
88              ]                      })
89          });                  ]
90                });
91            }
92            catch (e) {
93                console.log(e);
94            }
95    
96          await client.logger.logUnmute(user, d);          await client.logger.logUnmute(user, d);
97      }      }
# Line 86  export default class UnmuteCommand exten Line 120  export default class UnmuteCommand exten
120              return;              return;
121          }          }
122    
123            if (msg instanceof CommandInteraction)  
124                await msg.deferReply();
125    
126          let user: GuildMember;          let user: GuildMember;
127    
128          if (options.isInteraction) {          if (options.isInteraction) {
129              user = await <GuildMember> options.options.getMember('member');              user = await <GuildMember> options.options.getMember('member');
130    
131              if (!user) {              if (!user) {
132                  await msg.reply({                  await this.deferReply(msg, {
133                      embeds: [                      embeds: [
134                          new MessageEmbed()                          new MessageEmbed()
135                          .setColor('#f14a60')                          .setColor('#f14a60')
# Line 114  export default class UnmuteCommand exten Line 151  export default class UnmuteCommand exten
151                  user = user2;                  user = user2;
152              }              }
153              catch (e) {              catch (e) {
154                  await msg.reply({                  await this.deferReply(msg, {
155                      embeds: [                      embeds: [
156                          new MessageEmbed()                          new MessageEmbed()
157                          .setColor('#f14a60')                          .setColor('#f14a60')
# Line 130  export default class UnmuteCommand exten Line 167  export default class UnmuteCommand exten
167    
168          await unmute(client, user, msg.member!.user as User);          await unmute(client, user, msg.member!.user as User);
169    
170          await msg.reply({          await this.deferReply(msg, {
171              embeds: [              embeds: [
172                  new MessageEmbed()                  new MessageEmbed()
173                  .setAuthor({                  .setAuthor({
# Line 147  export default class UnmuteCommand exten Line 184  export default class UnmuteCommand exten
184              ]              ]
185          });          });
186      }      }
 }  
187    }

Legend:
Removed from v.106  
changed lines
  Added in v.159

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26