6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

riot apiを使ったWebアプリケーション

Posted at

ごあいさつ

いつもはJavascriptやphpを書いているPinonです。
夜中の1時ごろによくLeagueOfLegendsをやっています。
好きなChampionはAniviaです。 Aniviaちゃんかわいい。
sliver5の雑魚です

riot apiのAdventCalenderということで、
riot apiを使ったものをやっとまともになったので紹介します。

作ったもの

lol-name-dbというものを作りました

夜中の1時ごろに友人とよくNormalをしているのですが、
その時によく
「この人…前戦った相手じゃない…?」
と話をしています。

しかしゲームクライアントから見れるmatchingHistoryは最新の10件しか表示されません。
そこで、戦った人全てを保存しておくアプリケーションを作りました。

登録しておけば1時間に1回(仕様)更新され、どんどん増えていくはずです。

使ったもの

苦労した点

  1. APIのリクエスト上限が 
    10 request(s) every 10 second(s) 500 request(s) every 10 minute(s)
    という仕様で、APIを叩いている時にすぐ上限がきてしまう。
  • sleepを挟んで処理を遅らせた。
  • 時間の比較がstrtotimeで同じ時間の時は弾く処理をしていたが、何故か弾かれない条件があった。
  • Carbonをつかった。これは他のものにも使えそう
  • CUSTOM MODEでbotのみと戦うと、JSONの中にfellowPlayersは無い。
  • これを見つけるのに苦労した。何故かJSONの中に無かったのはriot plzと思った。

残タスク

  • lol-name-dbっていう名前をかっちょいいのにしたい
  • namelistが増えるとどうしても縦長になるのでページネーションを入れる
  • おされなfaviconがほしい。
  • 削除、ログアウト、SummonerNameを変更できるようにする。
    などなど

感想とか

好きなゲームで、アプリケーションが作れるということがすごく楽しかった。
好きなモノだとモチベが上がる。

APIを公開することは別のゲームとかでもやってほしいなーと思います。
技術についてはたくさん勉強になった。
laravelの使い方を1から教えてくれたhamada君や、
デバッグを行うためにNormalに付き合ってくれたFriendのみんなには本当にお世話になりました:)

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?