Eyes, JAPAN Blog > 次に開催されるCTFを”楽に”知るためにやったこと

次に開催されるCTFを”楽に”知るためにやったこと

Yuya Kanesawa

この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。

こんにちは.大学2年生も終わり,春休みを迎えているところです.

経緯

最近,友人同士のSlackのチームができて,そこでワイワイやっていたのですが,僕はふと思いました.

「次に開催されるCTFをすぐ知れたら便利じゃね?」と.

CTFに出場するときは毎回,CTFtimeというCTFerには欠かせないサイトがあるのですが,そこを見て次に開催されるのはこの日だから出てみようか,とかやっていたわけです.

いやいやいや待ってくれと.

なんで毎回サイトまで見に行って確認しないといけないんだ・・・もっと楽に知れたら皆が楽に,自分も楽になるのに・・・と.そう思ったわけです.

そこで,ちょうど友人達とのslackでbotを作っていた僕は,この機能をbotに実装することにしました.

やったこと

最初はCTFtimeのDOMをいじったりして,次に開催されるCTFの情報を取得しようとしていたわけですが,あることに気が付きました.

「もしかしてAPIあるんじゃ・・・?」

そこで「ctftime api」とかで検索してみたところ・・・

ありました!!!!!!!!!!!!!!

https://ctftime.org/api/

Events information (past and upcoming)というのが使えそうですね.

使い方としては,

https://ctftime.org/api/v1/events/?limit=100&start=1422019499&finish=1423029499

このようにlimitとstartとfinishにそれぞれ値を与えればいいらしいです.

今欲しいのは次に開催される1件のみなので,limitに1,startに現在のtimestampを使えばいけるはずです.

特定の文言にだけ反応するように書いてから,文面などをいい感じに整形してあげて,APIを叩くと・・・

popuko

こんな風に,次に開催されるCTFが取得出来ました!(Locationはonlineじゃない場合は空白になるっぽいです)

このbotは僕が好きな漫画である「ポプテピピック」に登場するキャラクターを元に作っております.

少々口が悪いなと思った皆さん,

popuko2

こんな風に「お疲れやな」と言ってくれる優しさも兼ね備えたbotなんですよ〜

まとめ

話が少しそれましたが,API便利ですよねって話でした.

おわり

Comments are closed.