module
0.0.0-20240525134421-fa266af055e1
Repository: https://github.com/murasame29/hackathon-util.git
Documentation: pkg.go.dev
# README
hackathon-util
ハッカソンを開催するときにDiscordのロールとチャンネル生成を自動でやるやつ
注意点
- 欠席というチーム名を付けた場合無視されます。
- メンバーは1チーム1行にしてください。
- ユーザ名はdiscordの @から始まるIDを @ なしで入力してください。
開発
環境変数を設定
# .env.example からコピー
cp .env.example .env
.env の設定
# Application Env
ENV= # 開発環境: dev, 本番環境: prod 特に指定しない場合は prod
# Google Env
GOOGLE_SPREADSHEET_ID=1kOFmbrdYd4gsF3i0bo5PuteUYWqq5R-g0i65jdRZMy0 # まとめてる対象のスプレッドシートID
GOOGLE_SPREADSHEET_RANGE=チームシート!A2:F15 # 対象の範囲
# Discord Env
DISCORD_BOT_TOKEN= # DiscordのBotのトークン
DISCORD_GUILD_ID= # 対象のDiscordサーバー
DISCORD_BOT_TOKENの設定方法
- Discord Developer Portal にアクセス
- New Application からアプリケーションを作成
- サイドバーのBotタブ から トークン を作成し、コピーして DISCORD_BOT_TOKEN に設定
DISCORD_GUILD_ID の設定方法(スクリプトで実行したい場合のみ)
- サーバー名で右クリックしてメニューの一番下にある「サーバーIDをコピー」をクリック
credential ファイルの生成(任意)
- Google Cloudから スプレッドシートAPIを有効にする
- スプレッドシートAPIの管理から認証情報 -> 認証情報の作成 -> サービスアカウントを選択
- 適切な権限のSAを作ったら保存
- サービス アカウントから保存されたSAを選択 -> キー -> 鍵を追加 -> 新しい鍵 -> json を選択
- 生成されたjsonを落として、hackathon-utilの直下に"credential.json"として保存
ローカルでの実行
# パッケージのインストール
go install github.com/cosmtrek/air@latest
.docker/app/sheetless.air.toml
のローカル用のコメントアウトを外す
# ローカルで実行
air -c .docker/app/sheetless.air.toml