- Add encoding='unic' when loading TrueType fonts for CJK support
- Fix fc-match invocation (remove invalid --default flag)
- Add fc-list :lang=zh enumeration as last-resort fallback to find
ANY CJK font available on the system
- Add NotoSerifCJK paths alongside existing Sans variants
- Scan local fonts/ directory for any .ttf/.ttc/.otf files first
(user can drop a CJK font file there)
- Add NotoSerifCJK paths alongside existing Sans variants
- Add fontconfig-based dynamic lookup (fc-match) as fallback
before resorting to ImageFont.load_default()
- Remove hardcoded NotoSansSC paths from fonts/ that don't exist
Three stacked @filter.command('pubg'), @filter.command('查ID'),
@filter.command('查询') decorated the same method, but
get_handler_or_create returns the same handler metadata for all
three, appending each CommandFilter to event_filters. In the
WakingCheckStage, all filters are AND'd, so the message would need
to start with all three command names simultaneously - impossible.
Fix: use @filter.command('pubg', alias={'查ID', '查询'}) which creates
a single CommandFilter that matches any of the three command names.
Register the PUBG stats query as an agent-usable tool via
StarTools.register_llm_tool so the AstrBot LLM agent
(tool_loop_agent_runner) can call the official PUBG API directly
instead of scraping web pages when users ask about PUBG stats.
- Add _pubg_lookup_tool bound method that fetches stats via _fetch_all
and returns formatted text
- Register tool with player_name (required) and platform (optional) params
- Graceful fallback if StarTools registration fails
- Add return_exceptions=True to asyncio.gather so one failed match
doesn't crash the entire query; filter out failed results gracefully.
- Replace session-level timeout with per-request timeout (10s) in
_api_request to avoid shared time budget across 9 requests.
- Remove session-level ClientTimeout that was too tight for batch.
- Add diagnostic logging at plugin init, query_stats entry, and
data fetch stages to help trace agent interception issues.
- Support stadia platform in config schema description.
- Add _truncate_text for long player name image rendering.
- Clean up unused mode_key tuple element in mode_rows.
- Flatten directory: move all plugin files from astrbot_plugin_pubg/ to root
- Add .gitignore, __init__.py, requirements.txt
- Fix metadata version to match code (1.3.0)
- Remove unused Any import and dead variable assignments
- Fix tempfile resource leak on save failure
- Add proper type hints (AstrBotConfig, PIL types)
- Prefix BAN_STATUS_LABELS with underscore for consistency
- Modernize type annotations with from __future__ import annotations