libs.functions.compose.msg_help
libs/functions/compose/msg_help.py
1""" 2libs/functions/compose/msg_help.py 3""" 4 5import re 6import textwrap 7 8import libs.global_value as g 9from cls.timekit import ExtendedDatetime as ExtDt 10from libs.data import lookup 11 12 13def event_message() -> str: 14 """チャンネル内呼び出しキーワード用ヘルプ 15 16 Returns: 17 str: ヘルプメッセージ 18 """ 19 20 msg = textwrap.dedent(f"""\ 21 *成績記録キーワード* 22 \t{g.cfg.setting.keyword} 23 24 *機能呼び出し* 25 \t`呼び出しキーワード [検索範囲] [対象メンバー] [オプション]` 26 27 \t*成績サマリ* 28 \t\t呼び出しキーワード:{"、".join(g.cfg.results.commandword)} 29 \t\t検索範囲デフォルト:{g.cfg.results.aggregation_range} 30 \t*成績グラフ* 31 \t\t呼び出しキーワード:{"、".join(g.cfg.graph.commandword)} 32 \t\t検索範囲デフォルト:{g.cfg.graph.aggregation_range} 33 \t*ランキング* 34 \t\t呼び出しキーワード:{"、".join(g.cfg.ranking.commandword)} 35 \t\t検索範囲デフォルト:{g.cfg.ranking.aggregation_range} 36 \t\t規定打数デフォルト:全体ゲーム数 × {g.cfg.ranking.stipulated_rate} + 1 37 \t\t出力制限デフォルト:上位 {g.cfg.ranking.ranked} 名 38 \t*レポート* 39 \t\t呼び出しキーワード:{"、".join(g.cfg.report.commandword)} 40 \t\t検索範囲デフォルト:{g.cfg.report.aggregation_range} 41 \t*メンバー一覧* 42 \t\t呼び出しキーワード:{"、".join(g.cfg.member.commandword)} 43 \t*チーム一覧* 44 \t\t呼び出しキーワード:{"、".join(g.cfg.team.commandword)} 45 """) 46 47 # 検索範囲 48 msg += "\n\n*検索範囲に指定できるキーワード*\n" 49 msg += textwrap.indent(ExtDt.print_range(), "\t") 50 51 # ルール識別子 52 rule = lookup.db.rule_version_range() 53 if rule: 54 msg += "\n\n*ルール識別子*\n" 55 for key, val in rule.items(): 56 msg += f"\t{key}:{val["first_time"]} ~ {val["last_time"]}\n" 57 58 # メモ機能 59 msg += textwrap.dedent(f"""\ 60 *メモ機能* 61 \t`登録キーワード <対象メンバー> <登録ワード>` 62 \t登録キーワード:{g.cfg.setting.remarks_word} 63 """) 64 65 words = lookup.db.regulation_list(1) 66 if words: 67 msg += "\n\t*卓外ポイントワード(個人清算)*\n" 68 for word, ex_point in words: 69 msg += "\t\t{}:{}pt\n".format( # pylint: disable=consider-using-f-string 70 word, 71 str(f"{ex_point:.1f}").replace("-", "▲"), 72 ) 73 74 words = [word for word, _ in lookup.db.regulation_list(2)] 75 if g.cfg.undefined_word == 2: 76 words += ["未登録ワードのすべてを個別にカウント"] 77 if words: 78 msg += f"\n\t*個別カウントワード*\n\t\t{'、'.join(words)}\n" 79 80 words = [word for word, _ in lookup.db.regulation_list(0)] 81 if g.cfg.undefined_word == 0: 82 words += ["未登録ワードのすべてを役満としてカウント"] 83 if words: 84 msg += f"\n\t*役満カウントワード*\n\t\t{'、'.join(words)}\n" 85 86 msg = re.sub(r"\n\n\n", "\n\n", msg, flags=re.MULTILINE) 87 88 return msg.rstrip()
def
event_message() -> str:
14def event_message() -> str: 15 """チャンネル内呼び出しキーワード用ヘルプ 16 17 Returns: 18 str: ヘルプメッセージ 19 """ 20 21 msg = textwrap.dedent(f"""\ 22 *成績記録キーワード* 23 \t{g.cfg.setting.keyword} 24 25 *機能呼び出し* 26 \t`呼び出しキーワード [検索範囲] [対象メンバー] [オプション]` 27 28 \t*成績サマリ* 29 \t\t呼び出しキーワード:{"、".join(g.cfg.results.commandword)} 30 \t\t検索範囲デフォルト:{g.cfg.results.aggregation_range} 31 \t*成績グラフ* 32 \t\t呼び出しキーワード:{"、".join(g.cfg.graph.commandword)} 33 \t\t検索範囲デフォルト:{g.cfg.graph.aggregation_range} 34 \t*ランキング* 35 \t\t呼び出しキーワード:{"、".join(g.cfg.ranking.commandword)} 36 \t\t検索範囲デフォルト:{g.cfg.ranking.aggregation_range} 37 \t\t規定打数デフォルト:全体ゲーム数 × {g.cfg.ranking.stipulated_rate} + 1 38 \t\t出力制限デフォルト:上位 {g.cfg.ranking.ranked} 名 39 \t*レポート* 40 \t\t呼び出しキーワード:{"、".join(g.cfg.report.commandword)} 41 \t\t検索範囲デフォルト:{g.cfg.report.aggregation_range} 42 \t*メンバー一覧* 43 \t\t呼び出しキーワード:{"、".join(g.cfg.member.commandword)} 44 \t*チーム一覧* 45 \t\t呼び出しキーワード:{"、".join(g.cfg.team.commandword)} 46 """) 47 48 # 検索範囲 49 msg += "\n\n*検索範囲に指定できるキーワード*\n" 50 msg += textwrap.indent(ExtDt.print_range(), "\t") 51 52 # ルール識別子 53 rule = lookup.db.rule_version_range() 54 if rule: 55 msg += "\n\n*ルール識別子*\n" 56 for key, val in rule.items(): 57 msg += f"\t{key}:{val["first_time"]} ~ {val["last_time"]}\n" 58 59 # メモ機能 60 msg += textwrap.dedent(f"""\ 61 *メモ機能* 62 \t`登録キーワード <対象メンバー> <登録ワード>` 63 \t登録キーワード:{g.cfg.setting.remarks_word} 64 """) 65 66 words = lookup.db.regulation_list(1) 67 if words: 68 msg += "\n\t*卓外ポイントワード(個人清算)*\n" 69 for word, ex_point in words: 70 msg += "\t\t{}:{}pt\n".format( # pylint: disable=consider-using-f-string 71 word, 72 str(f"{ex_point:.1f}").replace("-", "▲"), 73 ) 74 75 words = [word for word, _ in lookup.db.regulation_list(2)] 76 if g.cfg.undefined_word == 2: 77 words += ["未登録ワードのすべてを個別にカウント"] 78 if words: 79 msg += f"\n\t*個別カウントワード*\n\t\t{'、'.join(words)}\n" 80 81 words = [word for word, _ in lookup.db.regulation_list(0)] 82 if g.cfg.undefined_word == 0: 83 words += ["未登録ワードのすべてを役満としてカウント"] 84 if words: 85 msg += f"\n\t*役満カウントワード*\n\t\t{'、'.join(words)}\n" 86 87 msg = re.sub(r"\n\n\n", "\n\n", msg, flags=re.MULTILINE) 88 89 return msg.rstrip()
チャンネル内呼び出しキーワード用ヘルプ
Returns:
str: ヘルプメッセージ