async def previous_status(self, ctx: commands.context.Context): # botの発言 / 自分へのメンション以外は無視 if Utils.is_message_author_bot(ctx.message): return # 対象チャンネル以外でスルー if not Utils.check_channel(ctx.message): return # クラメンデータ検索 context: Context = await Context.get_instance(self.bot) clan_member: ClanMember = context.get_clan_member( ctx.message.author.id) # ひとつ前に戻す処理 await clan_member.previous_status(ctx.message)
async def on_cancel(self, ctx: commands.context.Context): # botの発言 / 自分へのメンション以外は無視 if Utils.is_message_author_bot(ctx.message): return # キャンセル処理 await self._cancel(ctx.message, is_force_reset=True)
async def _cancel(self, message: discord.Message, is_force_reset: bool = False): # 対象チャンネル以外でスルー if not Utils.check_channel(message): return # クラメンデータ検索 context: Context = await Context.get_instance(self.bot) clan_member: ClanMember = context.get_clan_member(message.author.id) # キャンセル処理 await clan_member.cancel(is_force_reset)
async def _cancel(self, message: discord.Message): # 対象チャンネル以外でスルー if not Utils.check_channel(message): return # クラメンデータ検索 context: Context = await Context.get_instance(self.bot) clan_member: ClanMember = context.get_clan_member(message.author.id) # キャンセル処理 clan_member.cancel() return_message: str = "{} さんの{}凸目{}をキャンセルしました".format( clan_member.get_member_nickname(), clan_member.attack_status.attack_count + 1, "(持越し)" if clan_member.attack_status.is_carry_over else "") await message.channel.send(return_message)
async def use_task_kill(self, ctx: commands.context.Context): # botの発言 / 自分へのメンション以外は無視 if Utils.is_message_author_bot(ctx.message): return # クラメンデータ検索 context: Context = await Context.get_instance(self.bot) clan_member: ClanMember = context.get_clan_member( ctx.message.author.id) clan_member.exec_task_kill() # キャンセル処理 return_message: str = "【タスキル使用】{} さんの{}凸目{}をキャンセルしました".format( clan_member.get_member_nickname(), clan_member.attack_status.attack_count + 1, "(持越し)" if clan_member.attack_status.is_carry_over else "") await ctx.message.channel.send(return_message) # 凸状態が変わるのでニックネーム修正 await clan_member.update_member_name()