Skip to content

walnuts1018/wakatime-to-slack-profile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
Feb 19, 2025
Sep 22, 2023
Sep 22, 2023
Sep 22, 2023
Jan 18, 2024
Sep 22, 2023
Jan 18, 2024
Jan 18, 2024
Sep 22, 2023
Sep 22, 2023
Jan 18, 2024
Sep 22, 2023
Feb 12, 2025
Sep 21, 2023
Oct 31, 2023
Dec 24, 2024
Sep 22, 2023
Feb 24, 2025
Feb 24, 2025
Jan 18, 2024
Dec 23, 2024

Repository files navigation

Wakatime to Slack Profile

Go Tests Code Coverage Go Report Last Image Build Latest Image wakatime

このプログラムは、Wakatime経由でユーザーが現在書いているコードを取得し、Slackのカスタムステータスに絵文字として設定するプログラムです。

image

Getting Started

PostgreSQL

いい感じに用意してください。

Wakatime API

いい感じに頑張ってApp IDとSecretを用意してください。

環境変数

env sample detail
GIN_MODE release gin用release mode設定
WAKATIME_APP_ID ********** Wakatime APIのApp ID
WAKATIME_CLIENT_SECRET ********** Wakatime APIのClient Secret
COOKIE_SECRET ************* Cookie用のSecret: 64Byteのランダム文字列を入れてください
PSQL_ENDPOINT postgres-release-postgresql.databases.svc.cluster.local Postgresqlのendpoint
PSQL_PORT 5432 PostgreSQLのポート
PSQL_DATABASE wakatime_to_slack PostgreSQLデータベース名
PSQL_USER user PostgreSQLユーザー名
PSQL_PASSWORD ********** PostgreSQL ユーザーパスワード
SLACK_ACCESS_TOKEN xoxp-******** SlackのACCESS Token

emoji.jsonを用意

emoji.jsonは手動で言語とSlack絵文字との対応付けを行うためのファイルです。

実行パスに配置 Wakatimeにおける言語名: Slackの絵文字ID

{
  "Go": "gopher",
  "YAML": "k8s",
  "SQL": "postgresql"
}

絵文字は、

emoji.jsonでの手動指定言語名そのまま言語名を全て小文字にしたもの(絵文字が見つからなかった場合)❓

の順番に探されます。

また、過去十分間にコードを書いていない場合は🦥になります。

image

Start with Docker

対応arch: amd64, arm64

docker run -p 8080:8080 ghcr.io/walnuts1018/wakatime-to-slack-profile:latest

ログイン

初回起動時にはブラウザでのログインが必要です。

ブラウザで http://localhost:8080/signin を開きます。(他のURLで公開している場合は適宜指定してください。)

Wakatimeのログイン画面が開くので、ログインしてください。

以下のような画面に戻ってきたらブラウザを閉じてください。 image

以降はTokenがPostgreSQLに保存されるので、手動でのログイン作業は必要ありません。