sugyan

line-bot-sdk-go での Flex Message

この記事はLINE Engineering Blog 「夏休みの自由研究 -Summer Homework-」の10日目の記事です。

京都開発室の @sugyan です。京都の夏を初体験していますが、いやー凄まじい暑さですね。

さて、2018年6月、LINE Messaging APIで利用できるMessageタイプとして「Flex Message」が新たに加わり、複雑なレイアウトも可能なカスタマイズ性の高いメッセージを送信することができるようになりました。

公式SDKでも早速Flex Messageをサポートをしていこう、と実装を始めました。

今回はGo SDK担当としてFlex Messageのための機能実装で得た知見などを書いていこうと思います。

詰将棋LINE Botを作りました

DataLabs所属の@sugyanです。この記事はLINE Advent Calendar 2017の11日目の記事です。

個人的な話ですが、この秋から新たな趣味として将棋を始めました。この趣味に自分の技能を活かして何かしてみたいと思い「詰将棋の問題を自動生成して出題してくれるLINE Bot」を作りましたので、紹介します。

詰将棋とは

簡単に紹介しますと、詰将棋とは将棋のルールを用いた一種のパズルで、以下のようなルールになっています。

  1. 攻め方(先手)が玉方(後手)の玉を詰ますのが目的。
  2. 攻め方は必ず王手をかける(玉方は必ず王手をはずす)。
  3. 玉方は盤上と攻め方の持駒以外すべての駒(ただし玉は除く)を合駒として使用できる。
  4. 玉方は最善を尽くし、最も長く手数がかかるように逃げる。
  5. 玉方は無駄な合駒をしない。
  6. その他は指し将棋のルール通り。二歩、打ち歩詰め、行き所のない駒、連続王手の千日手はいけない。

日本将棋連盟 詰将棋ページより)

例えば、以下のような形で出題されます。