あなたのDiscordサーバーへ招待するには、ここをクリックしてください!
(注意: 2023年3月31日をもちまして、当面の間Botをクローズさせていただいております)
ポモるは、Discord上で複数人がポモドーロテクニックをできない問題を解決したいDiscordで勉強する人向けのDiscord Botです。ユーザーはDiscord上でポモドーロテクニックを使うことができ、キッチンタイマーを使うとのとは違って、複数人で同時に使える環境が備わっていることが特徴です。
- ポモドーロと休憩のスタート時にアラートを再生
- ポモドーロと休憩のスタート時にテキストを発言
- ポモドーロ、休憩、インターバルの設定
- ポモドーロと休憩の一時停止
- ポモドーロと休憩のリセット
- ポモドーロと休憩のスキップ
- カウントダウンタイマーの設定
- リマインダーアラートの設定
- アラートの音量を設定
- ポモドーロタイマーのステータスを取得
- ポモドーロの統計を取得
- ポモドーロタイマーの設定を取得
- メンバーをミュート
- コマンドプレフィックスは「pmt!」
必須パラメータは<>
で囲まれ、オプションパラメーターは[]
で囲まれます。
たとえば「pmt!start」を実行してデフォルト値でポモドーロタイマーを開始したり、「pmt!start 30 10」を実行してポモドーロと休憩をカスタマイズしたりすることができます。
start [pomodoro] [short_break] [long_break] [intervales]
ポモドーロタイマーを開始します。
各セッションは60分までパラメーターが有効です。(デフォルト値:25 5 15 4)
pause
セッションの一時停止。
resume
セッションの再開。
restart
セッションのリスタート。
skip
セッションのスキップ。
end
セッションの終了。
edit <pomodoro> [short_break] [long_break] [interval]
ポモドーロタイマーを設定します。
help [command]
コマンドヘルプを表示します。
status
ポモドーロタイマーのステータスを取得します。
stats
ポモドーロの統計を取得します。
settings
ポモドーロタイマーの設定を取得します。
servers
ポモるを使用しているサーバーの数を確認します。
countdown <duration> [task]
カウントダウンタイマーを開始します。
remind [pomodoro] [short_break] [long_break]
リマインダーアラートを設定します。(デフォルト値:5 1 5)
各セッションのタイマー以下であればオプションパラメータを設定することができます。
remind_off
リマインダーアラートをOffにします。
volume [level]
アラートの音量を変更します。(デフォルト値:1)
音量は0..2まで変更可能です。
autoshush <all>
ユーザーを全員ミュートします。
実行するには管理者権限が必要です。
- Ruby 3.1.0
- discordrb 3.4.1
- Docker
Botの作成
- DiscordのDEVELOPER PORTALへアクセス
- New Applicationを押し、任意のアプリケーション名を入力してCreate
- BotのTOKENとCLIENT IDを控えておく
- OAuth2 > URL Generatorを押し、SCOPESの「bot」にチェックを入れる
- BOT PERMISSIONSにはそれぞれ以下の権限にチェックを入れる
- GENERAL PREMISSIONS
- Read Messages/View Channles
- TEXT PREMISSIONS
- Send Messages
- Manage Messages
- VOICE PERMISSIONS
- Connect
- Speak
- Mute Members
- Deafen Members
6. 発行されたURLをコピーしてBotをサーバーへ招待する
Docker imageを作成もしくはdockerhubからpullします
# Docker image
$ git clone https://github.com/kotakawase/pomoru.git
$ cd pomoru
$ docker build -t kotakawase/pomoru:main .
# dockerhubからpull
$ docker pull kotakawase/pomoru:main
Docker imageが作成されていることを確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kotakawase/pomoru main XXXXXXXXXXXX X hours ago XXXGB
Docker起動に必要な環境変数を設定
環境変数名 | 説明 |
---|---|
TOKEN | BotのTOKEN |
CLIENT_ID | BotのCLIENT ID |
PREFIX | コマンドプレフィックス |
$ touch ~/.env
TOKEN=YOUR_DISCORD_ACCESS_TOKEN
CLIENT_ID=YOUR_DISCORD_CLIENT_ID
PREFIX=COMMAND_PREFIX_TO_USE
Dockerを起動
$ docker run --env-file ~/.env kotakawase/pomoru:main
Dockerを使用しずに起動する場合はこちらをご参照ください
リポジトリをCloneしてフォルダに移動
$ git clone https://github.com/kotakawase/pomoru.git
$ cd pomoru
discordrbで音声機能を扱うために必要なパッケージをローカル環境にインストールします。
参考: discordrb - Dependencies Voice dependencies
$ brew install libsodium
$ brew install opus
$ brew install ffmpeg
Bot起動に必要な環境変数を設定
環境変数名 | 説明 |
---|---|
TOKEN | BotのTOKEN |
CLIENT_ID | BotのCLIENT ID |
PREFIX | コマンドプレフィックス |
$ touch .env
TOKEN=YOUR_DISCORD_ACCESS_TOKEN
CLIENT_ID=YOUR_DISCORD_CLIENT_ID
PREFIX=COMMAND_PREFIX_TO_USE
gemのインストール
$ bundle install
Botを起動
$ bin/run
or
$ bundle exec ruby run.rb
コマンド | 説明 |
---|---|
bin/lint |
Rubocopを実行 |
bin/test |
Minitestのテストを実行 |
リポジトリをCloneしてフォルダに移動
$ git clone https://github.com/kotakawase/pomoru.git
$ cd pomoru
Heroku上に任意のアプリケーションを作成
$ heroku create APPLICATTION_NAME
Herokuデプロイに必要な環境変数を設定
$ heroku config:set TOKEN=YOUR_DISCORD_ACCESS_TOKEN CLIENT_ID=YOUR_DISCORD_CLIENT_ID PREFIX=COMMAND_PREFIX_TO_USE
アプリケーションのstackをcontainerに設定
$ heroku stack:set container
リポジトリをHerokuにpush
$ git push heroku main
web dynoをアクティブにする
$ heroku ps:scale worker=1
このBotは既にサービスとして存在するPomomoに影響を受けて作りました。
ありがとうございます!
このBotはMIT Licenseの条件下でオープンソースとして利用できます。