えらいことをすると褒めてくれるDiscord bot。
- Discordにこのbotを招待してください。
- 他のメッセージに
👏(:clap:)
のリアクションを付与してください。- このとき、以下の条件を満たす必要があります。
- リアクションを付与したメッセージの送信者が、ユーザー登録済みかつ自分以外のユーザーである
- リアクションを付与したメッセージの送信者が、botでない
- このとき、以下の条件を満たす必要があります。
どのくらいえらいかを集計するポイント。各ユーザーに割り当てられている。
以下の行動によって増減する。
- 他のユーザーのメッセージに
👏(:clap:)
* を送ると、メッセージの送信者に「えらい」を送ることができる - 他のユーザーのメッセージに
🙌(:raised_hands:)
* を送ると、メッセージの送信者に「めっちゃえらい」を送ることができる- 1週間に
3回
* まで送信できる - 毎週
月曜日
* の4:00
* に残り使用回数がリセットされる
- 1週間に
- 他のユーザーのメッセージに
💩(:poop:)
* を送ると、メッセージの送信者に「カス」を送ることができる
アクション | ポイント |
---|---|
他のユーザーから「えらい」が送られる | 1 pt * |
他のユーザーへ5個 *「えらい」を送る一日 10カウント * まで毎日 4:00 * に回数制限がリセットされる |
1 pt * |
他のユーザから「めっちゃえらい」が送られる | 3 pt * |
他のユーザーへ一定数の「めっちゃえらい」を送る | 1 pt * |
他のユーザーから「カス」が送られる | -1 pt * |
他のユーザーへ5個 * 「カス」を送る一日 10カウント * まで毎日 4:00 * に回数制限がリセットされる |
-1 pt * |
アクション | ポイント |
---|---|
その日最初のメッセージを送信する 毎日 4:00 * にリセットされる |
1 pt * |
アクション | |
---|---|
18:00 * - 1:00 * の間に、「おやすみ * 」とメッセージを送信する かつ、1:00 * - 5:00 * の間、メッセージの送信がない かつ、5:00 * - 12:00 * の間に、メッセージを1回以上送信する |
5 pt * |
アクション | ポイント |
---|---|
その日の間に1回以上Contributionを行う 毎日 0:00 * に集計される |
3 pt * |
アクション | ポイント |
---|---|
1日のツイート数が50 * 未満毎日 4:00 * に集計される |
3 pt * |
!erai help
※ もしくは、当botへメンションを送信することでも表示できる
!erai me
!erai ranking
!erai github register [id]
!erai github unregister
開発には主に以下の言語・パッケージ・ツールを使用している。
- Python 3.8
- 開発言語。discord.pyを使用するためにPythonを選択した。
- Pipenv
- Pythonのパッケージマネージャ。
- discord.py
- discord APIのPythonラッパーパッケージ。
- MySQL
- 当プロジェクトで使用しているDBMS。
- Docker
- 仮想コンテナ。デプロイする際にはコンテナ内でサーバーが実行されている。
- docker-compose
- ローカルでデバッグする際には、docker-composeを使用して複数のコンテナを管理しやすくしている。
- Heroku
- 当botサーバーのデプロイ環境。mainブランチにマージされると、自動でビルドとデプロイが実行される。
- まず、当リポジトリをクローンする。
git clone https://github.com/watano1168/marvelous.git
- リポジトリのルートディレクトリに移動する。
cd marvelous
- 環境変数を設定する。
.env
ファイルをリポジトリのルートに配置しておくと、実行時に読み込むため便利である。 設定項目 - サーバーを実行する。
docker-compose up
キー | 説明 | 例 |
---|---|---|
DISCORD_TOKEN | discord botのトークン | |
GITHUB_BEARER_TOKEN | GitHubのBearerトークン | |
MYSQL_HOST | MySQLのホスト名 | marvelous_mysql |
MYSQL_PORT | MySQLのポート | 3306 |
MYSQL_DATABASE | MySQLのデータベース名 | marvelous |
MYSQL_USER | MySQLのユーザー名 | user |
MYSQL_PASSWORD | MySQLのパスワード | password |
RUN_ENVIRONMENT | development が指定されていると、デバッグ用コマンドが実行可能になり、デバッグレベルのログが出力されるようになる |
development |
HTTP_PROXY | discord botサーバーが参照するプロキシサーバーのアドレス | http://hoge.proxy:port |