libs.global_value

モジュール間データ共有用

 1"""モジュール間データ共有用"""
 2
 3from typing import TYPE_CHECKING, Any, Callable, Literal, Union
 4
 5if TYPE_CHECKING:
 6    from argparse import Namespace
 7
 8    from cls.config import AppConfig
 9    from integrations.discord.adapter import ServiceAdapter as discord_adapter
10    from integrations.slack.adapter import ServiceAdapter as slack_adapter
11    from integrations.standard_io.adapter import ServiceAdapter as std_adapter
12    from integrations.web.adapter import ServiceAdapter as web_adapter
13    from libs.types import TeamDataDict
14
15# --- グローバル変数 ---
16selected_service: Literal["slack", "discord", "web", "standard_io"] = "slack"
17"""連携先サービス"""
18adapter: Union["slack_adapter", "discord_adapter", "web_adapter", "std_adapter"]
19"""インターフェースアダプタ"""
20
21keyword_dispatcher: dict[str, Callable[..., Any]] = {}
22"""キーワード呼び出しディスパッチテーブル"""
23command_dispatcher: dict[str, Callable[..., Any]] = {}
24"""スラッシュコマンドディスパッチテーブル"""
25
26args: "Namespace"
27"""コマンドライン引数"""
28
29# モジュール共通インスタンス
30cfg: "AppConfig"
31"""Configインスタンス共有"""
32
33# 環境パラメータ
34member_list: dict = {}
35"""メンバーリスト
36- 別名: 表示名
37"""
38team_list: list["TeamDataDict"] = []
39"""チームリスト
40- id: チームID
41- team: チーム名
42- member: 所属メンバーリスト
43"""
44
45params: dict = {}
46"""プレースホルダ用パラメータ"""
selected_service: Literal['slack', 'discord', 'web', 'standard_io'] = 'slack'

連携先サービス

インターフェースアダプタ

keyword_dispatcher: dict[str, typing.Callable[..., typing.Any]] = {}

キーワード呼び出しディスパッチテーブル

command_dispatcher: dict[str, typing.Callable[..., typing.Any]] = {}

スラッシュコマンドディスパッチテーブル

args: argparse.Namespace

コマンドライン引数

Configインスタンス共有

member_list: dict = {}

メンバーリスト

  • 別名: 表示名
team_list: list[libs.types.TeamDataDict] = []

チームリスト

  • id: チームID
  • team: チーム名
  • member: 所属メンバーリスト
params: dict = {}

プレースホルダ用パラメータ