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)
Exemple #2
0
    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)
Exemple #3
0
    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)
Exemple #4
0
    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)
Exemple #5
0
    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()