From c83406e99674d2048bdcae78cfa00f2b56c61974 Mon Sep 17 00:00:00 2001 From: Karako Date: Thu, 4 May 2023 22:10:28 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20`avatar=5Flist`=20command?= =?UTF-8?q?=20matching=20issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Karako --- plugins/genshin/avatar_list.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/plugins/genshin/avatar_list.py b/plugins/genshin/avatar_list.py index 1aa80ef..04d3c07 100644 --- a/plugins/genshin/avatar_list.py +++ b/plugins/genshin/avatar_list.py @@ -3,7 +3,7 @@ from typing import List, Optional, Sequence, TYPE_CHECKING from genshin import Client, GenshinException, InvalidCookies from genshin.models import CalculatorCharacterDetails, CalculatorTalent, Character -from telegram import InlineKeyboardButton, InlineKeyboardMarkup +from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update, User from telegram.constants import ChatAction, ParseMode from telegram.ext import filters from telegram.helpers import create_deep_linked_url @@ -17,12 +17,11 @@ from core.services.template.models import FileType from core.services.template.services import TemplateService from metadata.genshin import AVATAR_DATA from modules.wiki.base import Model -from plugins.tools.genshin import CookiesNotFoundError, GenshinHelper, PlayerNotFoundError, CharacterDetails +from plugins.tools.genshin import CharacterDetails, CookiesNotFoundError, GenshinHelper, PlayerNotFoundError from utils.log import logger if TYPE_CHECKING: from telegram.ext import ContextTypes - from telegram import Update, User class SkillData(Model): @@ -185,15 +184,13 @@ class AvatarListPlugin(Plugin): name_card = (await self.assets_service.namecard(210001).navbar()).as_uri() return name_card, avatar, nickname, rarity - @handler.command("avatars", filters.Regex(r"^/avatars\s*(?:(\d+)|(all))?$"), block=False) + @handler.command("avatars", block=False) @handler.message(filters.Regex(r"^(全部)?练度统计$"), block=False) async def avatar_list(self, update: "Update", context: "ContextTypes.DEFAULT_TYPE"): user = update.effective_user message = update.effective_message - args = [i.lower() for i in context.match.groups() if i] - - all_avatars = any(["all" in args, "全部" in args]) # 是否发送全部角色 + all_avatars = "all" in message.text # 是否发送全部角色 logger.info("用户 %s[%s] [bold]练度统计[/bold]: all=%s", user.full_name, user.id, all_avatars, extra={"markup": True})