Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
社内Slackでバズっている投稿が知りたい!
Search
HimekaKawaguchi
February 29, 2024
0
15
社内Slackでバズっている投稿が知りたい!
HimekaKawaguchi
February 29, 2024
Tweet
Share
More Decks by HimekaKawaguchi
See All by HimekaKawaguchi
COPYコマンドって知ってる?
himekakawaguchi
0
77
Azure Functions を使って社内Slackで今週バズってる投稿が知りたい!
himekakawaguchi
0
68
Featured
See All Featured
Bash Introduction
62gerente
608
210k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Optimising Largest Contentful Paint
csswizardry
29
2.8k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
48
2.8k
Building Applications with DynamoDB
mza
90
6k
Being A Developer After 40
akosma
83
590k
The Language of Interfaces
destraynor
153
23k
How STYLIGHT went responsive
nonsquared
93
5.1k
Optimizing for Happiness
mojombo
375
69k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2k
Transcript
社内Slackで バズってる投稿が 知りたい! SaaSとデータ活用を学ぶ!セミナー&ライトニングトーク 2024/02/29 株式会社セゾン情報システムズ 川口媛香
はじめまして Himeka Kawaguchi 川口 媛香 2022年セゾン情報システムズ 入社 データ活用によるお客様の業務効率化を目指すPJに参画 ドメインの理解とエンジニアリングの習熟の両立に奮闘する日々 業務で使用する技術:Snowflake
PowerBI 2
いきなりですが 3
社内メンバーとの コミュニケーションは十分に取れていますか? 4
Slackのリアクションもコミュニケーションの1つ 5
リアクションはもらえると嬉しい 6
バズる=リアクションが多い 7
社内Slackで バズってる投稿が 知りたい! 8
きっかけ 社内Slackで2023年に1番リアクションをもらった投稿が気になり Pythonを使いローカルでSlackリアクションランキングを実装した! 1年の振り返りにはもってこい。 Qiitaもアップしています!いいね♡ください! https://qiita.com/Himeka_Kawaguchi/items/dfed601108f7caa62009 9
最近沢山リアクションがついた投稿も気になる 年単位の振り返りだけでなく MonthlyやWeeklyランキングを作成すれば 社内でいま注目度の高い投稿が分かりそう…? 10 今回は社内の「今」を知る為にWeeklyランキングを作成!
やったこと ①Pythonを使いSlackリアクション数ランキングを実装 ②作成したランキングをDataSpiderServistaでWeekly実行 11
12 API Pythonスクリプト 投稿 実行 全体像
13 ①Pythonを使い Slackリアクション数ランキングを実装
14 API Pythonスクリプト 投稿 実行 全体像
Pythonで Slackリアクション数ランキングを実装 実装に使用したもの ・Slack ・Slack API ・Python 15
Pythonで Slackリアクション数ランキングを実装 流れ ①サービス側で権限の設定 →Slackアプリを作る ②APIを使う準備 →Slackが提供するSDKを使う ③Pythonでランキングを集計 16
Pythonで Slackリアクション数ランキングを実装 ①Slackアプリを作る slackapiからアプリを作成し権限追加 17 ・channels:history →パブリックチャンネルの投稿などを取得 ・groups:history →プライベートチャンネルの投稿などを取得 ・chat:write
→ランキング結果をチャンネルに書き込むために 設定した内容(一部抜粋)
Pythonで Slackリアクション数ランキングを実装 ①Slackアプリを作る 作成したアプリをSlackのWorkspaceにインストール →完了するとトークンが発行される! 18
Pythonで Slackリアクション数ランキングを実装 ②Slack APIを使う準備 PythonのソースコードにはAPIを使用する。 何度もREST APIを呼び出すのは面倒… →Slack提供のSDKを使おう! 19 py
-m pip install slack-sdk
Pythonで Slackリアクション数ランキングを実装 ③Pythonでランキングを集計 <実装の流れ> ・チャンネル名&投稿のリンクを取得 ・投稿につくリアクション数を集計 ・カウントダウン形式でランキング結果をSlackに投稿 20
Pythonで Slackリアクション数ランキングを実装 ③Pythonでランキングを集計 ・投稿につくリアクション数を集計 →過去の会話履歴からリアクションのあった投稿だけに絞り込みリアクション数を合計 conversations_history() 21 Weekly実行なので 1週間前の日にちから取得。 UNIX時間に注意!
23 ②作成したランキングを DataSpiderServistaで Weekly実行
DataSpiderServistaで Weeklyランキングに! 24 <DataSpiderServistaの流れ> スクリプト作成→サービス登録→トリガー設定
25 API Pythonスクリプト 投稿 実行 全体像
DataSpiderServistaで Weeklyランキングに! 26 スクリプト作成 ・外部アプリケーション起動処理 ツールパレット>基本>処理> 外部アプリケーション起動処理
DataSpiderServistaで Weeklyランキングに! 27 外部アプリケーション起動処理のプロパティ ・起動コマンドに 用意したPythonスクリプトのパスを設定
DataSpiderServistaで Weeklyランキングに! 29 トリガー設定 ・実行したい日時を設定 ・登録したサービスと、スクリプトを選択 選択内容 毎週金曜日17:00、休日にも実行
DataSpiderServistaで Weeklyランキングに! 30 マイトリガーから実行結果を確認する 正常終了であれば成功!
出来たもの WeeklyランキングをSlackに投稿 投稿URL 31 投稿URL 投稿URL
32 おまけ
33 せっかくPythonコード書いたし いろいろ遊んでみよう!
Slackへ投稿以外にも何かできそう! 34 API Pythonスクリプト 投稿
Slackへ投稿以外にも何かできそう! 35 API Pythonスクリプト Streamlit
Streamlitもやってみた! 36
Streamlitもやってみた! 37 チャンネル名を 取得 件数を指定 集計結果を表示! ユーザー名を取得
Streamlitもやってみた! 38
Streamlitもやってみた! 39 ワクワクしながら はじめての技術に触れていました!
まとめ ・ Weeklyランキングにより社内の『今』を知ることが出来た! 在宅勤務ではどうしても見えにくい社内の動きは自分でキャッチアップしないと いけないがWeeklyランキングを見れば簡単に社内の流れを追えそう! ・やってみたい!と思ったことが自分の手で実現できると、とっても嬉しい! 初めての事ばかりで最初は苦戦するもののいつの間にか楽しめるようになっていた。 少しずつ完成に近づいていく過程にワクワクした。 気になる!やってみたい!と思った事をきっかけに、新しい技術・はじめての技術 を楽しみながら触れることが出来た。今後も続けたい!
40
以上です!ありがとうございました! 41