LoginSignup
4
7

More than 5 years have passed since last update.

Slackbotを使ってemojiをスタンプ風にする備忘録

Last updated at Posted at 2017-12-21

はじめに

Slackを使っていてひとつ、どうしても改善したいことがありました。
「emojiのスタンプを拡大して表示すること」です。
せっかくbotを作ったのでpythonを使ったSlackbotを経由させてスタンプを拡大させてみました。

環境

  • Windows10 64bit
  • Python 3.5.4

仕様

スタンプを押した後に、「拡大」と入力すると次のような感じでbotが拡大emojiを返すイメージ。
若干かっこ悪い。

image.png

SlackのemojilistからAPIを取得

まずslackAPIのTokenを取得。
取得方法はこちらのサイトを参考にしました。

Slackにログインした状態でここにアクセスできれば取得できるはずです。

自分のSlackチームにログインした状態で、
このサイトにアクセス。

Testerタブをクリック。
そうすると、Valueの部分にチーム名が表示されるはずです。

image.png

この状態でTest Methodをクリックすると、APIを取得できます。

image.png

image.png

中身

Slackbotの作成に関してはこちらの記事を参照。
Slackbot備忘録(1)

実際に今回追加したコードはこちら

my_mention.py
@listen_to('拡大')
def default_emoji(message):
    import urllib
    import json
    url = '取得したurl'

    html = urllib.request.urlopen(url)
    jsonfile = json.loads(html.read().decode('utf-8'))
    text = message.body['text']
    #::を消す
    title = text.replace(':', '')
    #titleからさらに拡大を消す
    title2 = title.replace('拡大', '') 

    telop = jsonfile['emoji'][title2]
    message.send(telop)

取得したAPIからtextと一致するemoji配列を呼んでるイメージです。
一致させるためにtextから文字置換をしまくってます。

listen_toなので、botさんをチャンネルに招待しないと動かないので注意です。

python/Slackbot初心者なのでこんな方法しか思いつきませんでした。

もっとスマートに拡大できたらいいのですが、
ひとまず不満が解消されました。

参考

本当はやりたかったこと↓

4
7
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
4
7