Skip to content

vinhactindi/chatrank

Repository files navigation

Contributors Forks Stargazers Issues


Logo

Chat Rank

Discordの中で最もメッセージが多いのは誰かを確認するのに役立ちます
* * *
デモ · バグの報告 · 機能のリクエスト

このドキュメントを English で読みたいですか?

概要

ChatRank はフィヨルドブートキャンプで自作サービスです。

今月の発言数の合計と発言者数の多いチャットユーザーのランキングを知る。

開発環境

機能概要

  • Discordのサーバーの管理者は過去のメッセージが月次統計できます。

利用方法

ログイン

  • Discordのアカウントでログインします

Login

Botを招待

  • 「サーバーにbotを招待する」または、「ボットを招待」をクリックしてください

Bot invite

サーバーとチャンネルの一覧を更新

  • 初めてログインしたときは、サーバーは表示されませんので、サーバーチャンネルのinputで「更新」をクリックしてください

Upate server and channel list

発言の集計をする

  • 過去のメッセージでメンバーをランク付けする必要がない場合は、この機能を気にしないでください
  • サーバーとチャンネルの一覧を更新した後、サーバーの管理者として発言の集計ができます
  • 「発言の集計をする」をクリックしたら、確認してください
  • サーバーに大量のメッセージがある場合、プロセスにはかなりの時間がかかります(多分20分から数時間)・統計中にリーダーボードが表示しません
  • この機能は必要な場合にのみ使用してください

Read History Messages

リーダーボード

  • ホームページにアクセスしてランキングを確認するか、chatrank!leaderboard をチャンネルに送信してください(詳細については、chatrank!help を参照してください)

Commands Bot

開発

DiscordのApplicationの作成

Botの設定

  • Developer Portal でBotを作成し、Token を環境変数に設定する

OAuth2の設定

  • Developer Portal / OAuth2 / Redirects にリダイレクトURLを設定する
  • Client IDClient Secret を環境変数に設定する

環境変数の設定

環境変数名 説明
DISCORD_BOT_TOKEN Botの Token
DISCORD_CLIENT_ID OAuth2の Client ID
DISCORD_CLIENT_SECRET OAuth2の Client Secret

インストール

$ bin/rails setup

実行

$ bin/rails serve

Bot

$ bin/rails bot:run

テスト

$ bin/rails test:all

リント

$ bin/lint

Herokuにデプロイ

Deploy

worker bin/rail bot:run

デフォルトでは、herokuは web のdynoのみを実行します。アプリの全機能については、worker のdynoを有効にしてください。

個人のアカウントには、月ごとに 550 時間の基本の Free dyno 時間が割り当てられています。この基本の時間のほかに、クレジットカードで認証を行っている​アカウントには、月単位の​ Free dyno 割り当てに 450 時間が追加されます。 つまり、アカウントをクレジットカードで認証しているユーザーには、月ごとに合計で 1000 Free dyno 時間が割り当てられます。

-- https://devcenter.heroku.com/ja/articles/free-dyno-hours#free-dyno-hour-pool

dyno のスリープ

アプリに Free Web dyno があり、その dyno が 30 分間 Web トラフィックを受信しない場合、その dyno は休眠状態​になります。 Web dyno のスリープに加えて、Worker dyno (存在する場合) も​スリープします。 Free Web dyno は休眠中、Free dyno 時間を消費しません。

-- https://devcenter.heroku.com/ja/articles/free-dyno-hours#dyno-sleeping

Heroku Dynos