libs.global_value

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

  1"""モジュール間データ共有用"""
  2
  3from typing import TYPE_CHECKING
  4
  5if TYPE_CHECKING:
  6    from argparse import Namespace
  7
  8    from slack_bolt.app.app import App
  9    from slack_sdk.web.client import WebClient
 10
 11    from cls.config import AppConfig
 12    from cls.parser import MessageParser
 13    from cls.types import TeamDataDict
 14
 15args: "Namespace" = None  # type: ignore
 16"""コマンドライン引数"""
 17app: "App"
 18"""slack object"""
 19webclient: "WebClient"
 20"""slack object"""
 21
 22# モジュール共通インスタンス
 23cfg: "AppConfig"
 24"""Configインスタンス共有"""
 25msg: "MessageParser"
 26"""MessageParserインスタンス共有"""
 27
 28# 環境パラメータ
 29member_list: dict = {}
 30"""メンバーリスト
 31- 別名: 表示名
 32"""
 33team_list: list["TeamDataDict"] = []
 34"""チームリスト
 35- id: チームID
 36- team: チーム名
 37- member: 所属メンバーリスト
 38"""
 39bot_id: str = ""
 40"""ボットID"""
 41params: dict = {}
 42"""プレースホルダ用パラメータ"""
 43
 44app_var: dict = {}
 45"""ホームタブ用初期値"""
 46
 47sql: dict = {}
 48"""共通クエリ"""
 49sql["RESULT_INSERT"] = """
 50    insert into
 51        result (
 52            ts, playtime,
 53            p1_name, p1_str, p1_rpoint, p1_rank, p1_point,
 54            p2_name, p2_str, p2_rpoint, p2_rank, p2_point,
 55            p3_name, p3_str, p3_rpoint, p3_rank, p3_point,
 56            p4_name, p4_str, p4_rpoint, p4_rank, p4_point,
 57            deposit, rule_version, comment
 58        ) values (
 59            :ts, :playtime,
 60            :p1_name, :p1_str, :p1_rpoint, :p1_rank, :p1_point,
 61            :p2_name, :p2_str, :p2_rpoint, :p2_rank, :p2_point,
 62            :p3_name, :p3_str, :p3_rpoint, :p3_rank, :p3_point,
 63            :p4_name, :p4_str, :p4_rpoint, :p4_rank, :p4_point,
 64            :deposit, :rule_version, :comment
 65        )
 66    ;
 67"""
 68
 69sql["RESULT_UPDATE"] = """
 70    update result set
 71        p1_name=:p1_name, p1_str=:p1_str, p1_rpoint=:p1_rpoint, p1_rank=:p1_rank, p1_point=:p1_point,
 72        p2_name=:p2_name, p2_str=:p2_str, p2_rpoint=:p2_rpoint, p2_rank=:p2_rank, p2_point=:p2_point,
 73        p3_name=:p3_name, p3_str=:p3_str, p3_rpoint=:p3_rpoint, p3_rank=:p3_rank, p3_point=:p3_point,
 74        p4_name=:p4_name, p4_str=:p4_str, p4_rpoint=:p4_rpoint, p4_rank=:p4_rank, p4_point=:p4_point,
 75        deposit=:deposit, comment=:comment
 76    where ts=:ts
 77    ;
 78"""
 79
 80sql["RESULT_DELETE"] = "delete from result where ts=?;"
 81
 82sql["REMARKS_INSERT"] = """
 83    insert into
 84        remarks (
 85            thread_ts, event_ts, name, matter
 86        ) values (
 87            :thread_ts, :event_ts, :name, :matter
 88        )
 89    ;
 90"""
 91
 92sql["REMARKS_DELETE_ALL"] = "delete from remarks where thread_ts=?;"
 93
 94sql["REMARKS_DELETE_ONE"] = "delete from remarks where event_ts=?;"
 95
 96sql["REMARKS_DELETE_COMPAR"] = """
 97    delete from remarks
 98    where
 99        thread_ts=:thread_ts
100        and event_ts=:event_ts
101        and name=:name
102        and matter=:matter
103    ;
104"""
105
106sql["SELECT_ALL_RESULTS"] = """
107    select
108        rank, rpoint
109    from
110        individual_results
111    where
112        rule_version = :rule_version
113        and name = :player_name
114    ;
115"""
116
117sql["SELECT_GAME_RESULTS"] = """
118    select
119        ts,
120        p1_name, p1_str,
121        p2_name, p2_str,
122        p3_name, p3_str,
123        p4_name, p4_str,
124        comment,
125        rule_version
126    from
127        result where ts=:ts
128    ;
129"""
args: argparse.Namespace = None

コマンドライン引数

app: slack_bolt.app.app.App

slack object

webclient: slack_sdk.web.client.WebClient

slack object

Configインスタンス共有

MessageParserインスタンス共有

member_list: dict = {}

メンバーリスト

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

チームリスト

  • id: チームID
  • team: チーム名
  • member: 所属メンバーリスト
bot_id: str = ''

ボットID

params: dict = {}

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

app_var: dict = {}

ホームタブ用初期値

sql: dict = {'RESULT_INSERT': '\n insert into\n result (\n ts, playtime,\n p1_name, p1_str, p1_rpoint, p1_rank, p1_point,\n p2_name, p2_str, p2_rpoint, p2_rank, p2_point,\n p3_name, p3_str, p3_rpoint, p3_rank, p3_point,\n p4_name, p4_str, p4_rpoint, p4_rank, p4_point,\n deposit, rule_version, comment\n ) values (\n :ts, :playtime,\n :p1_name, :p1_str, :p1_rpoint, :p1_rank, :p1_point,\n :p2_name, :p2_str, :p2_rpoint, :p2_rank, :p2_point,\n :p3_name, :p3_str, :p3_rpoint, :p3_rank, :p3_point,\n :p4_name, :p4_str, :p4_rpoint, :p4_rank, :p4_point,\n :deposit, :rule_version, :comment\n )\n ;\n', 'RESULT_UPDATE': '\n update result set\n p1_name=:p1_name, p1_str=:p1_str, p1_rpoint=:p1_rpoint, p1_rank=:p1_rank, p1_point=:p1_point,\n p2_name=:p2_name, p2_str=:p2_str, p2_rpoint=:p2_rpoint, p2_rank=:p2_rank, p2_point=:p2_point,\n p3_name=:p3_name, p3_str=:p3_str, p3_rpoint=:p3_rpoint, p3_rank=:p3_rank, p3_point=:p3_point,\n p4_name=:p4_name, p4_str=:p4_str, p4_rpoint=:p4_rpoint, p4_rank=:p4_rank, p4_point=:p4_point,\n deposit=:deposit, comment=:comment\n where ts=:ts\n ;\n', 'RESULT_DELETE': 'delete from result where ts=?;', 'REMARKS_INSERT': '\n insert into\n remarks (\n thread_ts, event_ts, name, matter\n ) values (\n :thread_ts, :event_ts, :name, :matter\n )\n ;\n', 'REMARKS_DELETE_ALL': 'delete from remarks where thread_ts=?;', 'REMARKS_DELETE_ONE': 'delete from remarks where event_ts=?;', 'REMARKS_DELETE_COMPAR': '\n delete from remarks\n where\n thread_ts=:thread_ts\n and event_ts=:event_ts\n and name=:name\n and matter=:matter\n ;\n', 'SELECT_ALL_RESULTS': '\n select\n rank, rpoint\n from\n individual_results\n where\n rule_version = :rule_version\n and name = :player_name\n ;\n', 'SELECT_GAME_RESULTS': '\n select\n ts,\n p1_name, p1_str,\n p2_name, p2_str,\n p3_name, p3_str,\n p4_name, p4_str,\n comment,\n rule_version\n from\n result where ts=:ts\n ;\n'}

共通クエリ