async def yes(): await infraction.delete() await MessageUtils.send_to(ctx, "YES", "inf_delete_deleted", id=infraction.id) GearbotLogging.log_key(ctx.guild.id, 'inf_delete_log', id=infraction.id, target=Utils.clean_user(target), target_id=target.id, mod=Utils.clean_user(mod), mod_id=mod.id if mod is not None else 0, reason=reason, user=Utils.clean_user(ctx.author), user_id=ctx.author.id) InfractionUtils.clear_cache(ctx.guild.id)
async def update(self, ctx: commands.Context, infraction: ServerInfraction, *, reason: Reason): """inf_update_help""" infraction.mod_id = ctx.author.id infraction.reason = reason infraction.save() await MessageUtils.send_to(ctx, 'YES', 'inf_updated', id=infraction.id) InfractionUtils.clear_cache(ctx.guild.id)
async def claim(self, ctx, infraction: ServerInfraction): """inf_claim_help""" infraction.mod_id = ctx.author.id infraction.save() await MessageUtils.send_to(ctx, 'YES', 'inf_claimed', inf_id=infraction.id) InfractionUtils.clear_cache(ctx.guild.id)
async def update(self, ctx: commands.Context, infraction: ServerInfraction, *, reason: Reason): """inf_update_help""" infraction.mod_id = ctx.author.id infraction.reason = reason await infraction.save() await MessageUtils.send_to(ctx, 'YES', 'inf_updated', id=infraction.id) InfractionUtils.clear_cache(ctx.guild.id) user = await Utils.get_user(infraction.user_id) GearbotLogging.log_key(ctx.guild.id, "inf_update_log", inf=infraction.id, user=Utils.clean_user(user), userid=user.id, mod=Utils.clean_user(ctx.author), modid=ctx.author.id, reason=reason)
async def mute_punishment(self, v: Violation): duration = v.bucket["PUNISHMENT"]["DURATION"] until = time.time() + duration reason = self.assemble_reason(v) role = AntiSpam._get_mute_role(v.guild) i = await Infraction.get_or_none(user_id=v.member.id, type="Mute", guild_id=v.member.guild.id, active=True) if i is None: i = await InfractionUtils.add_infraction(v.guild.id, v.member.id, self.bot.user.id, 'Mute', reason, end=until) try: await v.member.add_roles(role, reason=reason) except Forbidden: GearbotLogging.log_key(v.guild.id, 'mute_punishment_failure', user=Utils.clean_user(v.member), user_id=v.member.id, duration=Utils.to_pretty_time( duration, v.guild.id), reason=reason, inf=i.id) else: GearbotLogging.log_key(v.guild.id, 'mute_log', user=Utils.clean_user(v.member), user_id=v.member.id, moderator=Utils.clean_user(v.guild.me), moderator_id=v.guild.me.id, duration=Utils.to_pretty_time( duration, v.guild.id), reason=reason, inf=i.id) else: i.end += datetime.timedelta(seconds=duration) i.reason += f'+ {reason}' i.save() GearbotLogging.log_key(v.guild.id, 'mute_duration_extended_log', user=Utils.clean_user(v.member), user_id=v.member.id, moderator=Utils.clean_user(v.guild.me), moderator_id=v.guild.me.id, duration=Utils.to_pretty_time( duration, v.guild.id), reason=reason, inf_id=i.id, end=i.end) InfractionUtils.clear_cache(v.guild.id)
async def update(self, ctx: commands.Context, infraction: ServerInfraction, *, reason: Reason): """inf_update_help""" reason += ",".join(Utils.assemble_attachment(ctx.message.channel.id, attachment.id, attachment.filename) for attachment in ctx.message.attachments) if len(reason) > 1800: raise TranslatedBadArgument('reason_too_long', ctx) infraction.mod_id = ctx.author.id infraction.reason = reason await infraction.save() await MessageUtils.send_to(ctx, 'YES', 'inf_updated', id=infraction.id) InfractionUtils.clear_cache(ctx.guild.id) user = await Utils.get_user(infraction.user_id) GearbotLogging.log_key(ctx.guild.id, "inf_update_log", inf=infraction.id, user=Utils.clean_user(user), userid=user.id, mod=Utils.clean_user(ctx.author), modid=ctx.author.id, reason=reason)
async def mute_punishment(self, v: Violation): duration = v.bucket["PUNISHMENT"]["DURATION"] until = time.time() + duration reason = self.assemble_reason(v) role = AntiSpam._get_mute_role(v.guild) i = await Infraction.get_or_none(user_id = v.member.id, type = "Mute", guild_id = v.member.guild.id, active=True) if i is None: i = await InfractionUtils.add_infraction(v.guild.id, v.member.id, self.bot.user.id, 'Mute', reason, end=until) try: await v.member.add_roles(role, reason=reason) except Forbidden: GearbotLogging.log_key(v.guild.id, 'mute_punishment_failure', user=Utils.clean_user(v.member), user_id=v.member.id, duration=Utils.to_pretty_time(duration, v.guild.id), reason=reason, inf=i.id) else: GearbotLogging.log_key(v.guild.id, 'mute_log', user=Utils.clean_user(v.member), user_id=v.member.id, moderator=Utils.clean_user(v.guild.me), moderator_id=v.guild.me.id, duration=Utils.to_pretty_time(duration, v.guild.id), reason=reason, inf=i.id) if Configuration.get_var(v.guild.id, "INFRACTIONS", "DM_ON_MUTE"): await Utils.send_infraction(self.bot, v.member, v.guild, 'MUTE', 'mute', reason, duration=Utils.to_pretty_time(duration, v.guild.id)) else: i.end += duration i.reason += Utils.trim_message(f'+ {reason}', 2000) await i.save() GearbotLogging.log_key(v.guild.id, 'mute_duration_extended_log', user=Utils.clean_user(v.member), user_id=v.member.id, moderator=Utils.clean_user(v.guild.me), moderator_id=v.guild.me.id, duration=Utils.to_pretty_time(duration, v.guild.id), reason=reason, inf_id=i.id, end=i.end) InfractionUtils.clear_cache(v.guild.id) if v.member.voice: permissions = v.member.voice.channel.permissions_for(v.guild.me) if permissions.move_members: await v.member.move_to(None, reason=f"{reason}")
async def yes(interaction: disnake.Interaction): await infraction.delete() await interaction.response.edit_message( content=MessageUtils.assemble(ctx, "YES", "inf_delete_deleted", id=infraction.id), view=None) GearbotLogging.log_key(ctx.guild.id, 'inf_delete_log', id=infraction.id, target=Utils.clean_user(target), target_id=target.id, mod=Utils.clean_user(mod), mod_id=mod.id if mod is not None else 0, reason=reason, user=Utils.clean_user(ctx.author), user_id=ctx.author.id) InfractionUtils.clear_cache(ctx.guild.id)