slack animation

Created
Aug 7, 2023 6:24 AM
Tags
ネタ
Editor
Haruki Wada
image

こんにちは、ネタ担当エンジニアの和田です。

Elastic Infraではチームやお客様とのコミュニケーションにSlackを利用しています。

少し前になりますが、弊社で流行ったslack-animeについてご紹介したいと思います。

まずはこちらをご覧ください。

このようにSlack上でemojiをアニメのように動かすという遊びです。真剣なやりとりでヒートアップして空気が悪くなりかけたそんな時!

「@here おもしろいのやるよー」などと言いながら貼ると空気が和らぐでしょう。

著作権に配慮したため今回のはあまり面白くないですが。

やり方はいたって簡単で、絵文字のパターンを用意してコピペするだけです。

しかしこれは流石につらいので、簡単なコードを用意しました。

require 'slack-ruby-client'
require 'yaml'

TOKEN = 'fixme'
CHANNEL = 'fixme'
resp = ''

Slack.configure do |conf|
  conf.token = TOKEN
end

client = Slack::Web::Client.new
client.auth_test

comments = [
]

for comment in comments do
  if resp.empty? then
    resp = client.chat_postMessage(channel: CHANNEL, text: comment, as_user: true)
    sleep 1
    next
  end
  client.chat_update(channel: config['slack']['channel'], text: comment, as_user: true , ts: resp.ts)
  sleep 1
end

slack apiのpost messageが1req/secの制限となっておりますので、sleep 1を愚直に入れています。

TOKENとCHANNELを変更いただき、comments内にanimeの内容を書きます。

comments = [
  ":thinking_face:\n:face_with_rolling_eyes:\n:thinking_face:",
  ":face_with_rolling_eyes:\n:thinking_face:\n:face_with_rolling_eyes:",
  ":full_moon_with_face:\n:full_moon_with_face:\n:full_moon_with_face:",
]

こんな感じで記述してください。ダブルクォートじゃないと改行が投稿されないので注意です。

サンプルの実行結果はこちら。

こちらを利用すれば、殺伐としたチャンネルに潤いが!?

ぜひ大作に挑戦してみてください!

(なお、1作品にかなり時間が掛かるのでお仕事に影響が出ない範囲でお楽しみください)

最後になりますが、こちらの元ネタは株式会社クラウドネイティブ中の人の投稿からです。

blog化を快諾いただきありがとうございました。