こんにちは、プロトソリューションの福田です。
社内でコミュニケーションツールとして使用しているSlack。
チャット機能が使いやすく、ファイル共有も簡単にできるのですごく便利。
ですがこの度、社内コミュニケーションツールに変更が入ることになりました!
個人的に気に入っていたツールだったので残念ですが、会社の方針には逆らえません。あらゆる変化に適応していくこともまた必要なスキルですから。
そんなSlackとサヨナラする前に、密かにやりたかったことがあります。
Slackの絵文字、プロトソリューション社内でどれが一番使用されているのか?
Slackの便利さは前述しましたが、絵文字機能も魅力の一つ。
業務に追われているときなど絵文字をポチッとするだけで「了解」「有難う」「確認した」といった意志を、手短に相手へ伝えることが可能。ときには絵文字の豊富さに「どの絵文字にしよう〜、迷っちゃう!」なんてことも。(それだと本末転倒ですがw)
ということで今回の記事では、社内でSlackの絵文字がどれだけ使われているのか?を集計し、ランキングを出してみました。その集計手順も参考に載せておくので、最後まで読んで頂けると嬉しいです!
それでは、いってみましょう!
■結論
<絵文字ランキング結果>
結論から言うと使用ランキングはこのような結果になりました!
※集計期間:16期〜17期現在まで(2022年4月〜2023年8月)、集計範囲は「Protosolution」ワークスペース全体
絵文字ランキング結果1位は、「ありがとうございます」が46,713件!!2位は「承知しました」37,058件。3位のお目目は「確認します」の意味でしょうか。
僕が予想していた通り、ランキングには「有難う」や「了解」という意味の絵文字が頻繁に使われていました!メッセージを受け取った意思表示が簡単にできるので、使う方も多いようです。皆さんの予想はどうでしたか?
<カスタム絵文字ランキング結果>
実は個人的に気になっていたのがカスタム絵文字。
オリジナリティー溢れる絵文字を自分でカスタマイズし、カスタムした本人だけでなく皆が使うこともできます。プロトソリューションの社員はどんなカスタム絵文字を使っているのか気になりますね〜。
カスタム絵文字ランキングの結果はこのようになりました!
1位は「完了」が5,436件。2位は「お疲れ様でした!」が4,697件。3位は「お大事に」が4,390件。体調不良の方への気遣いが感じ取れる結果ですね!そして4位に「鈴木」がランクイン。これは一体何に使うのでしょう・・?承認の代わりかな?8位の「御意」は意外なランクイン。何かのアニメで流行っていたのでしょうか?10位の「☆」は当社の文化Shine Starのロゴですね!
<ユニークなカスタム絵文字たち>
カスタム絵文字には「いつ、どのタイミングで使うのだろう?」という変わったものもありました! そんなユニークなカスタム絵文字を僕の独断と偏見でご紹介します!
・・・一体いつ使うのだろう・・・。顔にペイントを施した社員の絵文字(笑)
・・・お腹が空きそうな絵文字。「確認」の意味で使うのだろうか?だとしたら良いセンスしています。
・・・お願いされた瞬間にこの絵文字でリアクションできたら神。
・・・自らの絵文字を「イケメン」と名付けるイケメン過ぎる社員!!メガネが上下逆なのに気づきましたか?
・・・忠誠心を感じる絵文字。
・・・定時で帰りにくい時に使える絵文字。
・・・当社のサービス「SENZOKU LAB.」の可愛い絵文字^^
・・・頑張った1週間!週末は思い切り楽しもう!ワークライフバランスの実現!
・・・当社のイントラキャラクター「Pトラくん」!語尾は「〜だトラ」
・・・NOと言える勇気が大事!(仕事は断っちゃだめよ)
■集計手順
今回、ランキング集計をしてくださった方はシステムソリューション部のKさん!
Kさん
グーホーム・グーホーム賃貸の開発業務を担当していて特にFlutterのモバイルアプリ開発が得意。
現在は自社メディアチームに所属しており、バックエンド・フロントエンド・モバイルアプリ等、食わず嫌いせずに様々な技術に挑戦中。
直近ではFlutterでの新規モバイルアプリ開発をしていて、Flutterにとてもハマっているとか!
今回使用した技術はPythonとSlack API。
下記の手順で集計しました!
①Slack APIの設定
Slackでの絵文字を集計するためにSlack APIを使いました
https://api.slack.com/
今回必要になる権限は conversations_list と conversations_history で使用する権限です。
②Pythonの設定
今回はslack_sdkというSDKが必要となります。
https://slack.dev/python-slack-sdk/api-docs/slack_sdk/
著者の環境は以下になります
Python 3.11.5
slack-sdk 3.21.3
③スクリプト実行
下記のスクリプトを実行します
from slack_sdk.web import WebClient
import ssl
from datetime import datetime
import time
SLACK_API_TOKEN = "取得したトークン"
client = WebClient(token=SLACK_API_TOKEN)
# メッセージを全件取得する関数
def get_all_messages(channel_id):
all_messages = []
cursor = None
while True:
response = client.conversations_history(
channel = channel_id,
cursor = cursor,
oldest = datetime(2022, 4, 1).timestamp, # 2020年4月1日以降のメッセージを取得
)
if response["ok"]:
messages = response["messages"]
all_messages.extend(messages)
if response["has_more"]:
cursor = response["response_metadata"]["next_cursor"]
else:
break
else:
print("Error fetching history:", response["error"])
break
return all_messages
total_emoji_counts = {}
# チャンネル数に合わせて limitを変更
channel_list = client.conversations_list(limit=100)["channels"]
for channel in channel_list:
channel_id = channel["id"]
# 各チャンネルのメッセージを全件取得
try:
messages = get_all_messages(channel_id)
for message in messages:
emojis = [emoji for emoji in message.get("reactions", [])]
for emoji in emojis:
emoji_name = emoji["name"]
# キーがない場合は0で初期化
if((emoji_name in total_emoji_counts) == False):
total_emoji_counts[emoji_name] = 0
total_emoji_counts[emoji_name] += emoji["count"]
except Exception as e:
print("An error occurred:", channel_id)
decending_emoji_counts = sorted(total_emoji_counts.items(), key=lambda item: item[1], reverse=True)
for i in range(10):
print(f"{i+1}位: {decending_emoji_counts[i][0]} {decending_emoji_counts[i][1]}件")
参考になれば嬉しいです!
■まとめ
いかがでしたか?
ポジティブで愛に溢れる絵文字がたくさんランクインしていましたね!
依頼や指示といった業務で使用することが多いSlackですが、テキストに絵文字を挟んでみたり、リアクションとして活用することで「ホッ」としたり「キュン」としたり、社員同士のコミュニケーションに色を添えてくれました!ありがとうSlack!
それにしても、「Slackの絵文字ってどれだけ使われているのかな〜」という疑問から今回の集計まで、すごいスピード感でした。
こんな突拍子もないことを思いついても、頼れるエンジニアがパパッとやってくれるので嬉しい!
集計に協力頂いたKさん、ありがとうございました!
プロトソリューションでは一緒に働く仲間を募集しています。
この記事を書いたひと:福田 聡樹(ふくだ さとき)
株式会社プロトソリューション Webソリューション部所属。自社ホームページ編集長。ブログ/インタビュー/動画などのコンテンツを使ってプロトソリューションの取り組み、サービスやタレント情報の発信をしています。
好きなもの:爬虫類、犬、本のにおい、オヤジギャグ。