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
Yuuki Shimizu
October 03, 2020
Programming
0
90
Slack の困りごとを何とかしてみた①
2020.10.3
第8回 富士もくもく会 オンライン LT
Yuuki Shimizu
October 03, 2020
Tweet
Share
More Decks by Yuuki Shimizu
See All by Yuuki Shimizu
Perlで痩せる
yuukis
1
690
Pythonで遊べるLEDボードの紹介
yuukis
0
70
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
220
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
400
Gemini API を試した話と山梨でオススメのものを語るLT
yuukis
0
81
山梨のIT勉強会コミュニティを盛り上げるためにアレ作ってみた!
yuukis
0
75
FastAPI を活用した オープンデータAPI の作成
yuukis
0
1k
FastAPIで始める やまなし温泉めぐり
yuukis
0
460
Pythonでslackの困りごとを何とかしてみた①
yuukis
0
320
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
230
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
380
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
800
ニーリーにおけるプロダクトエンジニア
nealle
0
480
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
570
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
320
Select API from Kotlin Coroutine
jmatsu
1
190
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
160
童醫院敏捷轉型的實踐經驗
cclai999
0
190
WindowInsetsだってテストしたい
ryunen344
1
190
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Unsuck your backbone
ammeep
671
58k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Language of Interfaces
destraynor
158
25k
Transcript
ʲୈճ ࢜͘͘ձ ΦϯϥΠϯ -5ʳ slackͷࠔΓ͝ͱΛ Կͱ͔ͯ͠Έͨᶃ 2020. 10. 3 しみず
ゆうき 1
͓·͑୭Αʁ ͠Έͣ Ώ͏͖ • ࢁསݝߕࢢ ग़ɺ౦ژʹग़Ք͗த • ϞόΠϧΞϓϦ ΤϯδχΞ(Android/iOS) •
࠷ۙɺϦϯάϑΟοτ Ξυϕϯνϟʔʹ ·ͬͯ·͢ (3 kg མͪ·ͨ͠) 2
ં֯ͷ LT ͳͷͰɺ ࠔΓ͝ͱΛղܾ͍ͨ͠ʂ 3
ۀͰͷ࠷ۙͷࠔΓ͝ͱ 4 ձࣾ Slack ͷνϟϯωϧ͕૿͑͗ͯ͢୳͢ͷ͕େมʂ શࣾ࿈བྷ ܽ੮࿈བྷ ߪೖਃ ࡶஊ ։ൃؔ࿈ใڞ༗
֤छϩάग़ྗ ֤Ҋ݅ͷνʔϜ࿈བྷ χϡʔεڞ༗ πʔϧ༡ͼ ֤ϝϯόʔͷใ ΠϕϯτࢀՃใࠂ FUD ׆ಈͷແ͍νϟϯωϧϦετ͔ΒӅ͍ͨ͠
աڈͷ LT Ͱ Slack API Λ͞Θ͍ͬͯΔͷͰɺ 5
ٱ͠ৼΓʹ Python ίʔυॻͧ͘ ʙ !! 6
ͱࢥ͚ͬͨͲɺطͷπʔϧΛݟ͚ͭ·ͨ͠ 7
Symantec/slack-autoarchive • Python Ͱॻ͔Εͨ Slack ༻ ࣗಈΞʔΧΠϒ εΫϦϓτ • աڈ60ؒͰʢbot
Ҏ֎ͷʣϝοηʔδ͕ͳ͍νϟϯωϧΛ ࣗಈͰΞʔΧΠϒ͢Δ • ΞʔΧΠϒͤͨ͘͞ͳ͍νϟϯωϧΛࢦఆՄೳ ʢϗϫΠτϦετʣ 8
αΫοͱಋೖͯ͠Έͨ 9
ᶃ ϦϙδτϦΛ Fork 10
ᶄ Slack API Token Λऔಘɾઃఆ 11 API Token
ᶅ GitHub Actions ϫʔΫϑϩʔ࡞ • ຖ݄1 9:00AM(JST) ʹ࣮ߦ • 180Ҏ্ϝοηʔδ͕ແ͍
νϟϯωϧ͕ରͱͳΔΑ͏ ઃఆ • ϗϫΠτϦετΛڥมͰ ઃఆ 12 name: CI on: schedule: - cron: "0 0 1 * *" jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.8 uses: actions/setup-python@v1 with: python-version: 3.8 - name: Install dependencies run: | pip install -r requirements.txt - name: Run auto-archive run: | SLACK_TOKEN=$SLACK_TOKEN ¥ DRY_RUN=$DRY_RUN ¥ python slack_autoarchive.py env: SLACK_TOKEN: ${{ secrets.SLACK_TOKEN }} DRY_RUN: false DAYS_INACTIVE: 180 WHITELIST_KEYWORDS: 'general,times_' ADMIN_CHANNEL: activity .github/workflows/main.yml
݁ՌɺࣗಈͰΞʔΧΠϒ͞Εͨ 13
·ͱΊ ʮSlack ͷࠔΓ͝ͱΛԿͱ͔ͯ͠Έͨʯ • Python ͩͱΓ͍ͨ͜ͱΛ͍ίʔυͰαΫοͱ࣮ݱ Ͱ͖ͯྑ͍ʂ • GitHub Actions
ศརʂ • ࣍ Slack ʹΞοϓϩʔυͨ͠ϑΝΠϧΛཧ͢Δπʔϧ Λ࡞Γ͍ͨʂ 14