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()