トラブルシューティングやリリース通知については、Discord に参加してください。
ペイパル:
BTC: bc1q3wxm269mdmwdqjqkxgt7s5zp8ah05dexdua0zv
ETH: 0x8c096710e3621fe5f8E384efBd17D8E3E798Dc0c (Cryptik.eth)
ドージ: D6n2g2KGdqEwR4MhhT7uAdvZFaTwqwd6rS
ヴェンモ: @dtcarls
このリポジトリは、GroupMe、Discord、または Slack チャット ボットを実行して、ESPN Fantasy Football 情報を GroupMe、Discord、または Slack チャット ルームに送信します。
これは何をするのでしょうか?
スケジュールリンク: https://www.gamedaybot.com/message-schedule/
このスケジュールで次のメッセージを送信します。
接戦スコア - 月曜 - 東海岸時間 18:30 (月曜日の夜の試合中に互いに勝ち点 16 以内にある試合に注目)
スコアボード - 月、火、金 - 現地時間 7:30 (現在の ESPN ファンタジー スコアボード)
トロフィー - 火曜日 - 現地時間 7:30 (ハイスコア、ロースコア、最大の勝利、最も近い勝利)
パワーランキング - 火曜日 - 現地時間18:30
現在の順位 - 水 - 現地時間 7:30
免除レポート - 水 - 現地時間 7:30
対戦 - 木 - 東海岸時間 19:30 (今後の対戦)
監視対象選手レポート - 日曜日 - 現地時間 7:30 (スタメンの中で疑わしい、疑わしい、またはアウトの選手)
スコアボード - 日 - 東海岸時間 16:00、20:00 (現在の ESPN ファンタジー スコアボード)
GroupMe、Discord、または Slack のセットアップと Heroku へのアプリのデプロイ
GroupMe のセットアップ
スラックのセットアップ
Discordのセットアップ
Heroku のセットアップ
プライベートリーグ
トラブルシューティング・よくある質問
開発とテストの入門
開発用にインストールする
環境変数
Docker で実行する
Docker なしで実行する
テストの実行
これらすべてが複雑すぎてわかりにくいと思われませんか? 「Heraku」が何なのか知りませんか? https://www.GameDayBot.com/ をチェックすることを検討してください。私はホスティング サービスを提供しており、複雑さを最小限に抑えるために最善を尽くしています。
同じチャットに同じボットを 2 つ導入しないでください。一般に、セットアップはコミッショナーに任せるべきです。
www.groupme.com にアクセスしてサインアップまたはログインします
リーグにまだグループ チャットがない場合は、新しい「グループ チャット」を作成します。
次に、GroupMe 用のボットをセットアップします。
https://dev.groupme.com/session/new に移動してログインします。
「ボットの作成」をクリックします
ボットを作成します。 GroupMe は、それぞれの内容をうまく説明しています。
ボットを作成すると、次のような内容が表示されます。 「編集」をクリックします
このページでは「ボット ID」が必要になるため、このページは重要です。また、テキスト ボックスを使用してテスト メッセージを送信して、チャット ルームに接続されていることを確認することもできます。補足: ページに示されているボット ID を使用すると、空のチャット ルームにスパム送信することになるため、努力する価値はありません
https://slack.com/signin に移動し、ボットが配置されるワークスペースにサインインします。
リーグ用のチャンネルをまだ持っていない場合は、新しいリーグ チャンネルを作成します
次に、Slack 用のボットを設定します。
https://api.slack.com/apps/new に移動します
アプリに名前を付け、ドロップダウンから目的のワークスペースを選択します。
横にある「Incoming Webhooks」セクションを選択します。
トグルをオフからオンに変更します。
「新しい Webhook をワークスペースに追加」を選択します
[投稿先] ドロップダウンで、メッセージの送信先チャネルを選択し、[承認] を選択します。
このページの「Webhook URL」が必要になるため、このページは重要です。
ログインするか、Discord アカウントを作成します
メッセージを受信するには、Discord サーバーに移動するか作成します。
サーバー設定を開きます
Webhook に移動
Webhook を作成し、名前を付けて、メッセージを受信するチャネルを選択します
このページの「Webhook URL」を保存します。
「2022 年 11 月 28 日、Heraku は無料の製品プランの提供を停止しました。」
Heroku の新しいコストよりもはるかに安いホスティング サービスを https://www.GameDayBot.com/ で提供しています。
https://id.heroku.com/login にアクセスしてサインアップまたはログインします
この紫色のボタンをクリックすると、コードが自動的にデプロイされます。
ダッシュボード (https://dashboard.heroku.com/apps) に移動します。次に、リーグで機能するように環境変数を設定する必要があります。ダッシュボードで「設定」をクリックします。次に、「Reveal Config Vars」ボタンをクリックすると、次のようなものが表示されます。
次に、これらの変数を編集する必要があります (変数の右側にある鉛筆をクリックして変更します)。 注: 変数を変更するとアプリが再起動するため、チャット ルームに「こんにちは」という初期メッセージが半分スパムされる可能性があります。初期化メッセージを表示しないようにするには、INIT_MSG 変数を空白に変更します。 Heroku は 1 日に 1 回程度アプリを再起動するようであることにも注意してください
ドキュメントについては、「環境変数」セクションを参照してください。
変数を設定したら、それをオンにする必要があります。 Heroku アプリのダッシュボードの [リソース] タブに移動します。以下のようなものが表示されるはずです。右側の鉛筆をクリックしてボタンを切り替えて図のように青色にし、「確認」をクリックします。
これで完了です。これで、ESPN リーグ用の完全な機能を備えた GroupMe/Slack/Discord チャット ボットが完成しました。 INIT_MSG がある場合は、GroupMe、Discord、または Slack のチャット ルームでそれが叫ばれるのがわかります。
残念ながら、最新バージョンの自動デプロイを行うには、git 上のリポジトリへの管理者アクセスが必要です。 Github ページ (https://github.com/dtcarls/fantasy_football_chat_bot/commits/master) で更新を確認し、デプロイ ボタンを再度クリックします。ただし、これにより新しいインスタンスがデプロイされるため、変数を再度編集する必要があります。
これらの手順により、開発とテストの目的で、プロジェクトのコピーをローカル マシン上で起動して実行できるようになります。
Docker を使用する場合:
git clone https://github.com/dtcarls/fantasy_football_chat_botcd Fantasy_football_chat_bot docker build -t Fantasy_football_chat_bot 。
Docker を使用しない場合:
git clone https://github.com/dtcarls/fantasy_football_chat_botcd Fantasy_football_chat_bot pip install -r required.txt# または #python3 setup.py install
ヴァール | タイプ | 必須 | デフォルト | 説明 |
---|---|---|---|---|
BOT_ID | 弦 | グループミーの場合 | なし | これは、GroupMe 開発者ページのボット ID です。 |
SLACK_WEBHOOK_URL | 弦 | スラック用 | なし | これは、Slack アプリ ページの Webhook URL です。 |
DISCORD_WEBHOOK_URL | 弦 | 不和のため | なし | これは Discord 設定ページの Webhook URL です |
リーグID | 弦 | はい | なし | これはあなたの ESPN リーグ ID です |
開始日 | 日付 | はい | 今シーズンの開始 (YYYY-MM-DD) | この時点で、ボットは注意を払い、チャットにメッセージを送信し始めます。 |
END_DATE | 日付 | はい | 今シーズンの終了 (YYYY-MM-DD) | これは、ボットが注意を払わなくなり、チャットへのメッセージの送信を停止するときです。 |
LEAGUE_YEAR | 弦 | はい | 現在の年 (YYYY) | ESPNリーグの注目すべき年 |
タイムゾーン | 弦 | はい | アメリカ/ニューヨーク | メッセージの送信に使用されるタイムゾーン。 |
INIT_MSG | 弦 | いいえ | なし | ボットが開始されたときに言うメッセージ。 |
TOP_HALF_SCORING | ブール | いいえ | 間違い | True に設定すると、水曜日に順位表が掲載されるときに、リーグのポイント上位半分にいることも含まれ、追加の「勝利」を受け取ります。 |
ランダムフレーズ | ブール | いいえ | 間違い | True に設定すると、火曜日に対戦が投稿されるときに、ランダムなフレーズも含まれます。 |
モニター_レポート | ブール | いいえ | 間違い | True に設定すると、スターティング ラインアップで疑わしい、疑わしい、アウト、または 4 ポイント未満と予想される選手のレポートが提供されます。 |
放棄_レポート | ブール | いいえ | 間違い | True に設定すると、追加/ドロップの免除レポートが提供されます。 |
DAILY_WAIVER | ブール | いいえ | 間違い | True に設定すると、毎日の追加/ドロップの免除レポートが提供されます。 |
ESPN_S2 | 弦 | プライベートリーグの場合 | なし | プライベートリーグで使用されます。ドキュメントについては、プライベート リーグのセクションを参照してください。 |
SWID | 弦 | プライベートリーグの場合 | なし | プライベートリーグで使用されます。 ({} の有無にかかわらず定義できます) ドキュメントについては、プライベート リーグのセクションを参照してください。 |
Groupme を使用している場合は BOT_ID、Discord を使用している場合は DISCORD_WEBHOOK_URL、Slack を使用している場合は SLACK_WEBHOOK_URL (複数の場所でメッセージを取得する場合は複数) を使用します。
>>>export BOT_ID=[GroupMe Bot ID を入力してください] >>>export WEBHOOK_URL=[Webhook URL を入力してください] >>>export LEAGUE_ID=[ESPN リーグ ID を入力] >>>export LEAGUE_YEAR=[リーグ年を入力] >>> cd ファンタジーフットボールチャットボット >>> docker run --rm=True -e BOT_ID=$BOT_ID -e LEAGUE_ID=$LEAGUE_ID -e LEAGUE_YEAR=$LEAGUE_YEAR Fantasy_football_chat_bot
Groupme を使用している場合は BOT_ID、Discord を使用している場合は DISCORD_WEBHOOK_URL、Slack を使用している場合は SLACK_WEBHOOK_URL (または複数の場所でメッセージを取得する場合は複数) を使用します。
>>>export BOT_ID=[GroupMe Bot ID を入力してください] >>>export WEBHOOK_URL=[Webhook URL を入力してください] >>>export LEAGUE_ID=[ESPN リーグ ID を入力] >>>export LEAGUE_YEAR=[リーグ年を入力] >>> python3 ゲームデイボット/espn/espn_bot.py
このパッケージの自動テストは、 tests
ディレクトリに含まれています。インストール後、ディレクトリをgamedaybot
ディレクトリに変更し、次のコマンドを実行することで、これらのテストを実行できます。
pip install -r 要件-test.txtpytest
プライベート リーグの場合は、swid と espn_s2 を取得する必要があります。これら 2 つの値は、espn の Web サイトで espn ファンタジー フットボール アカウントにログインした後に確認できます。 (Chrome ブラウザ) Web サイト上の任意の場所を右クリックし、検査オプションをクリックします。そこから、上部バーの「アプリケーション」をクリックします。左側の「ストレージ」セクションで「Cookie」をクリックし、次に「http://fantasy.espn.com」をクリックします。そこから、swid および espn_s2 の変数と値を見つけることができるはずです。
リーグは満員でなければなりません。
ボットが機能していない
手順の手順を見逃していませんか?もう一度最初からやり直してみてください。それでも問題が解決しない場合は、問題 (https://github.com/dtcarls/fantasy_football_chat_bot/issues) を開くか、Discord (readme の上部にあるリンク) にアクセスして、答えを他の人と共有してください。
パワーランクはどのように計算されますか?
これらは、2 段階の優位性と、獲得ポイントと勝利の差の組み合わせを使用して計算されます。重みはそれぞれ 80/15/5 です。私は実際の数字にはあまり注目せず、チーム間の差に注目します。計算の完全なソースは、https://github.com/cwendt94/espn-api/pull/12/files でご覧いただけます。支配行列のチュートリアルが必要な場合: https://www.youtube.com/watch?v=784TmwaHPOw
これの Yahoo/CBS/NFL/[他のサイトを挿入] 用のバージョンはありますか?
いいえ、他のサイトでは大幅な再作業が必要になります。
別のタイムゾーンを設定するにはどうすればよいですか?
変数を指定します https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
これの Messenger/WhatsApp/[他のチャットを挿入] 用のバージョンはありますか?
いいえ、ただし、追加のクロスプラットフォーム サポートのために API を実装するプル リクエストは歓迎します。
私の順位が間違っているようです。奇妙な(+1)が入っています。
TOP_HALF_SCORING: True に設定すると、水曜日に順位が掲載されるときに、上位半分のスコアの勝利も含まれます。
トップハーフの勝利とは、ポイントでリーグのトップハーフにいることを意味し、それに対して追加の「勝利」を受け取ります。括弧内の数字 (+1) は、シーズン全体でトップハーフの勝利が何回追加されたかを示します。