slack-app

slack-app.py - Slackに投稿された麻雀のスコアを記録し、集計して表示するツール

help:

$ ./slack-app.py --help
usage: slack-app.py [-h] [--debug] [--verbose] [--moderate] [--notime] [-c CONFIG]

options:
-h, --help            show this help message and exit
--debug, --trace      デバッグ情報表示
--verbose             詳細デバッグ情報表示
--moderate            ログレベルがエラー以下のもを非表示
--notime              ログフォーマットから日時を削除
-c CONFIG, --config CONFIG
                        設定ファイル(default: config.ini)
 1#!/usr/bin/env python3
 2# pylint: disable=invalid-name
 3"""
 4slack-app.py - Slackに投稿された麻雀のスコアを記録し、集計して表示するツール
 5
 6help:
 7
 8    $ ./slack-app.py --help
 9    usage: slack-app.py [-h] [--debug] [--verbose] [--moderate] [--notime] [-c CONFIG]
10
11    options:
12    -h, --help            show this help message and exit
13    --debug, --trace      デバッグ情報表示
14    --verbose             詳細デバッグ情報表示
15    --moderate            ログレベルがエラー以下のもを非表示
16    --notime              ログフォーマットから日時を削除
17    -c CONFIG, --config CONFIG
18                            設定ファイル(default: config.ini)
19"""
20
21import logging
22import os
23import sys
24
25from slack_bolt import App
26from slack_bolt.adapter.socket_mode import SocketModeHandler
27from slack_sdk import WebClient
28from slack_sdk.errors import SlackApiError
29
30import libs.global_value as g
31from libs.data import initialization
32from libs.functions import configuration
33from libs.functions.events.handler_registry import register_all
34
35if __name__ == "__main__":
36    try:
37        configuration.setup()
38        app = App(token=os.environ["SLACK_BOT_TOKEN"])
39        g.webclient = WebClient(token=os.environ["SLACK_WEB_TOKEN"])
40        from libs import event
41        __all__ = ["event"]
42        register_all(app)  # イベント遅延登録
43    except SlackApiError as err:
44        logging.error(err)
45        sys.exit()
46
47    initialization.initialization_resultdb()
48    initialization.read_grade_table()
49    configuration.read_memberslist()
50    g.app = app  # インスタンスグローバル化
51    g.bot_id = app.client.auth_test()["user_id"]
52
53    handler = SocketModeHandler(app, os.environ["SLACK_APP_TOKEN"])
54    handler.start()