/[sudobot]/trunk/src/automod/Automute.ts
ViewVC logotype

Diff of /trunk/src/automod/Automute.ts

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

revision 227 by rakin, Mon Jul 29 17:29:07 2024 UTC revision 393 by rakin, Mon Jul 29 17:29:59 2024 UTC
# Line 1  Line 1 
1    /**
2    * This file is part of SudoBot.
3    *
4    * Copyright (C) 2021-2022 OSN Inc.
5    *
6    * SudoBot is free software; you can redistribute it and/or modify it
7    * under the terms of the GNU Affero General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10    *
11    * SudoBot is distributed in the hope that it will be useful, but
12    * WITHOUT ANY WARRANTY; without even the implied warranty of
13    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14    * GNU Affero General Public License for more details.
15    *
16    * You should have received a copy of the GNU Affero General Public License
17    * along with SudoBot. If not, see <https://www.gnu.org/licenses/>.
18    */
19    
20  import { GuildMember } from "discord.js";  import { GuildMember } from "discord.js";
21  import DiscordClient from "../client/Client";  import DiscordClient from "../client/Client";
22  import MessageEmbed from "../client/MessageEmbed";  import MessageEmbed from "../client/MessageEmbed";
23  import Service from "../utils/structures/Service";  import Service from "../utils/structures/Service";
24    
25  export default class Automute extends Service {  export default class Automute extends Service {
26      MuteRecord: any;      MuteRecord: typeof import("../models/MuteRecord").default;
27    
28      constructor(client: DiscordClient) {      constructor(client: DiscordClient) {
29          super(client);          super(client);
# Line 18  export default class Automute extends Se Line 37  export default class Automute extends Se
37      public async onMemberJoin(member: GuildMember) {      public async onMemberJoin(member: GuildMember) {
38          const { MuteRecord } = this;          const { MuteRecord } = this;
39          const muteRecord = await MuteRecord.findOne({          const muteRecord = await MuteRecord.findOne({
40              where: {              user_id: member.user.id,
41                  user_id: member.user.id,              guild_id: member.guild.id
                 guild_id: member.guild.id  
             }  
42          });          });
43    
44          if (!muteRecord) {          if (!muteRecord) {
# Line 45  export default class Automute extends Se Line 62  export default class Automute extends Se
62              ]              ]
63          });          });
64    
65          await muteRecord.destroy();          await muteRecord.delete();
66      }      }
67    
68      public async onMemberLeave(member: GuildMember) {      public async onMemberLeave(member: GuildMember) {
# Line 56  export default class Automute extends Se Line 73  export default class Automute extends Se
73          }          }
74    
75          const muteRecord = await MuteRecord.findOne({          const muteRecord = await MuteRecord.findOne({
76              where: {              user_id: member.user.id,
77                  user_id: member.user.id,              guild_id: member.guild.id
                 guild_id: member.guild.id  
             }  
78          });          });
79    
80          if (!muteRecord) {          if (!muteRecord) {
81              await MuteRecord.create({              await MuteRecord.create({
82                  user_id: member.user.id,                  user_id: member.user.id,
83                  guild_id: member.guild.id                  guild_id: member.guild.id,
84                    createdAt: new Date()
85              });              });
86          }          }
87      }      }

Legend:
Removed from v.227  
changed lines
  Added in v.393

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26