LINEスタンプをSlackのEmojiとして登録する

www.youtube.com

オトッペ可愛い。みんなかわいい。是非見て。

この記事は

masawada Advent Calendar 2018 - Adventar のために書きました。 masawadaにはお会いしたことありません。

前日の記事は↓

■ - パピッター

です。

本題

僕たちはしばしばSlackにLINEスタンプのサムネイル画像のURLを貼って楽しんでいます。

f:id:anoChick:20181216122236p:plain
linestamp

store.line.me

見ての通り、LINE STOREにあるスタンプのプレビュー画像は、なんの認証もかかっていません。 そのため、このように行儀の悪い使い方が出来ます。

でも、いちいちLINE STOREから引っ張ってくるのは面倒なので、Emojiとして登録してしまいましょう。

で、こんな感じのものを作った。

f:id:anoChick:20181216143719p:plain

  1. Slashコマンドで、LINE STOREを検索する
  2. 気になるスタンプグループ(product)を選択する
  3. Emojiにしたいスタンプを選択する

これだけでLINEのスタンプがSlackのEmojiになります。

あとは、LINEスタンプは絵文字にしてしまうと見辛い物が多いので、/stampコマンドも用意しました。

f:id:anoChick:20181216145226p:plain

こうすると

f:id:anoChick:20181216145259p:plain

こうなります。

tech.grooves.com Grooves開発ブログさんの記事を参考にしました。

仕組み

Slack以外にはFirebaseのCloudFunctionsしか使っていません。 LINE STOREの検索、要素抽出にはpuppeteerを使いました。

Emoji登録には github.com こちらを使いました。

でまぁ、作りはしたんですが、 Emojiを登録するところとか、結構厳しい実装ですし、 そこそこモラルに欠ける感あるので、「是非使ってください!!」とは言いづらい感じになりました。

ですが、下記のような知見が得られたので良かったです。

  • SlackのSlack Commandは3000msタイムアウトの壁がしんどいと思ってたけれど,response_urlを使えば問題にはならない
  • Cloud Functionsで普通にpuppeteerが使える
  • SlackのEmoji登録API,あるには有るけどブラウザからログインしてトークンを抜いて使う必要がある
  • Interactive messagesがなかなかおもしろい

もうちょっとコード綺麗にして公開したい気持ちが0.1%程度はあるのですが、 なかなかキワモノ感でちゃったのでそんなやる気は出ない気がしています。

以上です。ありがとうございました

store.line.me

記事に出てきたLINEスタンプはこちら。