スポンサーリンク

サッカー日本代表の試合日程BOTプログラミングをチャットGPTで作ってみた

BOT
日時 対戦国 場所

上のサッカー日本代表の試合日程BOTは、プログラミングが全くできない私が、チャットGPT先生に作ってもらったオリジナルBOTです。
サッカー日本代表の試合日程が自動で分かるようになっています。
今回は、どのようにサッカー日本代表の試合日程BOTを作ったのかを解説します。

サッカーAPIを探そう!

API-Football - Restful API for Football data
Restful API for Football data +1 100 competitions, Livescore, standings, teams, odds, bookmakers, fixtures, events, line...

今回のサッカー日本代表の試合日程BOTを作るには、まずサッカー情報を取得できるAPIを探す必要がありました。
APIには「パブリックAPI」と「プライベートAPI」の2つがあります。
パブリックAPIとは、WEB上に公開され誰でも利用可能なAPIです。
プライベートAPIとは、特定の人や組織内部だけが利用可能なAPIです。

今回探したのですが、パブリックAPIのサッカーAPIはありませんでした。
なので、プライベートAPIを配布している「API-Football」という海外のサイトに会員登録をしてサッカーAPIを取得しました。
パブリックAPIなので、API用のIDとパスワードを使います。

サッカー日本代表の試合日程BOTを作ろう!

準備ができたので、サッカーBOTの作成に取り掛かります。
今回はワードプレスに、このBOTを貼り付けるため、PHPというプログラム言語を使います。
また、API用のIDとパスワードは見られてはいけないので、バックエンドであるPHPに記述する必要があります。

まずはチャットGPT先生にAPIから日本代表の情報を取得してもらい表示します。
ワードプレスの「テーマファイルエディター」にある「unctions.php」にプログラムを記述。
しかし、保存時にエラーが出ます。
原因は<?phpでした。

PHPには1ページに<?phpが1つだけという決まりがあるようです。
なので<?phpを1つだけにして保存。
BOT表示用のショートコードを記事内に貼り付けます。

API表示成功!

2024-11-15T12:00:00+00:00: Indonesia vs Japan
2024-11-19T12:00:00+00:00: China vs Japan
2025-03-20T00:00:00+00:00: Japan vs Bahrain
2025-03-25T00:00:00+00:00: Japan vs Saudi Arabia
2025-06-05T00:00:00+00:00: Australia vs Japan

APIの内容を表示できました。
そして、表示された内容がコレです。
しかし英語だったので日本語に変換します。
チャットGPT先生に聞いた所、PHPに英語を日本語にする機能があるらしいです。

日本語に翻訳

2024年11月15日 12時00分: インドネシア 対 日本
2024年11月19日 12時00分: 中国 対 日本
2025年03月20日 00時00分: 日本 対 バーレーン
2025年03月25日 00時00分: 日本 対 サウジアラビア
2025年06月05日 00時00分: オーストラリア 対 日本

日本語表示しました。
しかし、実際の試合時間と異なります。
どうやら外国のAPIなので時差があるようです。
チャットGPT先生に時差を考慮して修正してもらいます。

試合時間が違う

2024年11月15日 21時00分: インドネシア 対 日本
2024年11月19日 21時00分: 中国 対 日本
2025年03月20日 9時00分: 日本 対 バーレーン
2025年03月25日 9時00分: 日本 対 サウジアラビア
2025年06月05日 9時00分: オーストラリア 対 日本

正しい時間で表示されるようになったのですが、2025年03月20日から試合時間が違います。
正確に言うと、まだ試合時間が決まっていないのです。
なので、現在の日付から2か月以上先の試合は、時間が未定となるように修正しました。

API取得回数節約

2024年11月15日 21時00分: インドネシア 対 日本
2024年11月19日 21時00分: 中国 対 日本
2025年03月20日 時間未定: 日本 対 バーレーン
2025年03月25日 時間未定: 日本 対 サウジアラビア
2025年06月05日 時間未定: オーストラリア 対 日本

今回のサッカーAPIには、データ取得回数に制限があります。
なので1日1回情報を取得して、サーバーに保存。
その後は同じ内容を表示してAPIの取得回数を減らしました。
ここで完成かなと思ったのですが、あることに気づきました。

ホーム&アウェーの表示

2024年11月15日 21時00分: インドネシア 対 日本
2024年11月19日 21時00分: 中国 対 日本
2025年03月20日 時間未定: 日本 対 バーレーン
2025年03月25日 時間未定: 日本 対 サウジアラビア
2025年06月05日 時間未定: オーストラリア 対 日本

気づいたこと、それは…。
左に日本がある時の試合はホームで
右に日本がある時の試合はアウェーだということです。

なのでホームとアウェーの情報を追加したかったのですが、これに時間がかかりました。
簡単なことのように思えるのですが、何故かできません。
チャットGPT先生にしつこくエラーメッセージを送り続けて、ようやく原因が判明します。
()が全角になっていたので、半角の()を使用したら解決しました。

遂に完成!

日時 対戦国 場所

チャットGPT先生が、なんで全角の()を使っていたのかはわかりません。
なんでだろう…?
最後に、列を揃えるためチャットGPT先生にBOTの内容を表に入れてもらいました。
見やすくなったと思います。
遂に完成です。
お疲れさまでした。

タイトルとURLをコピーしました