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
93
Slack の困りごとを何とかしてみた①
2020.10.3
第8回 富士もくもく会 オンライン LT
Yuuki Shimizu
October 03, 2020
Tweet
Share
More Decks by Yuuki Shimizu
See All by Yuuki Shimizu
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
890
Perlで痩せる
yuukis
1
780
Pythonで遊べるLEDボードの紹介
yuukis
0
89
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
410
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
470
Gemini API を試した話と山梨でオススメのものを語るLT
yuukis
0
88
山梨のIT勉強会コミュニティを盛り上げるためにアレ作ってみた!
yuukis
0
82
FastAPI を活用した オープンデータAPI の作成
yuukis
0
1k
FastAPIで始める やまなし温泉めぐり
yuukis
0
480
Other Decks in Programming
See All in Programming
All About Angular's New Signal Forms
manfredsteyer
PRO
0
140
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
490
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
860
チームの境界をブチ抜いていけ
tokai235
0
170
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.3k
Le côté obscur des IA génératives
pascallemerrer
0
140
What's new in Spring Modulith?
olivergierke
1
150
Serena MCPのすすめ
wadakatu
4
990
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
dynamic!
moro
10
7.7k
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
4 Signs Your Business is Dying
shpigford
185
22k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Documentation Writing (for coders)
carmenintech
75
5.1k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Being A Developer After 40
akosma
91
590k
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