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
Pythonでslackの困りごとを何とかしてみた①
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
しみず ゆうき
September 09, 2020
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pythonでslackの困りごとを何とかしてみた①
しみず ゆうき
September 09, 2020
More Decks by しみず ゆうき
See All by しみず ゆうき
12年前のAndroidアプリを蘇らせた話
yuukis
0
64
EventBridgeで地域イベントのイベントストリームを作ってみた
yuukis
0
130
2025年 山梨の技術コミュニティを振り返る
yuukis
0
430
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
1.2k
Perlで痩せる
yuukis
1
890
Pythonで遊べるLEDボードの紹介
yuukis
0
150
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
700
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
610
Gemini API を試した話と山梨でオススメのものを語るLT
yuukis
0
110
Other Decks in Programming
See All in Programming
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
4.3k
霧の中の代数的エフェクト
funnyycat
1
450
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
220
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
140
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
510
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.5k
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
480
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
110
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
2
330
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
420
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
160
Featured
See All Featured
Building Adaptive Systems
keathley
44
3.2k
How to train your dragon (web standard)
notwaldorf
97
6.7k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
230
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Designing for Timeless Needs
cassininazir
1
430
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
GitHub's CSS Performance
jonrohan
1033
470k
Product Roadmaps are Hard
iamctodd
55
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
It's Worth the Effort
3n
188
29k
Between Models and Reality
mayunak
4
380
Transcript
ʲ৴ݰύΠ ΦϯϥΠϯಡॻձ ୈ -5ʳ PythonͰ slackͷ ࠔΓ͝ͱΛԿͱ͔ͯ͠Έͨᶃ 2020. 9. 9
͠Έͣ Ώ͏͖ 1
͓·͑୭Αʁ ͠Έͣ Ώ͏͖ • ࢁསݝߕࢢग़ɺ౦ژʹग़Ք͗த • ϞόΠϧΞϓϦ ΤϯδχΞ(Android/iOS) • Python
৴ݰύΠͰ͞ΘΔ͘Β͍ 2
ં֯ͷ LT ͳͷͰɺ Python ͰࠔΓ͝ͱΛ ղܾ͍ͨ͠ʂ 3
ۀͰͷ࠷ۙͷࠔΓ͝ͱ 4 ձࣾ Slack ͷνϟϯωϧ͕૿͑͗ͯ͢୳͢ͷ͕େมʂ શࣾ࿈བྷ ܽ੮࿈བྷ ߪೖਃ ࡶஊ ։ൃؔ࿈ใڞ༗
֤छϩάग़ྗ ֤Ҋ݅ͷνʔϜ࿈བྷ χϡʔεڞ༗ πʔϧ༡ͼ ֤ϝϯόʔͷใ ΠϕϯτࢀՃใࠂ FUD ׆ಈͷແ͍νϟϯωϧϦετ͔ΒӅ͍ͨ͠
աڈͷ LT Ͱ Slack API Λ͞Θ͍ͬͯΔͷͰɺ 5
ٱ͠ৼΓʹ Python ίʔυॻͧ͘ ʙ !! 6
ͱࢥ͚ͬͨͲɺطͷπʔϧΛݟ͚ͭ·ͨ͠ 7
Symantec/slack-autoarchive • Python Ͱॻ͔Εͨ Slack ༻ ࣗಈΞʔΧΠϒ εΫϦϓτ • աڈؒͰʢCPUҎ֎ͷʣϝοηʔδ͕ͳ͍νϟϯωϧΛ
ࣗಈͰΞʔΧΠϒ͢Δ • ΞʔΧΠϒͤͨ͘͞ͳ͍νϟϯωϧΛࢦఆՄೳ ʢϗϫΠτϦετʣ 8
αΫοͱಋೖͯ͠Έͨ 9
ᶃ ϦϙδτϦΛ Fork 10
ᶄ Slack API Token Λऔಘɾઃఆ 11 API Token
ᶅ GitHub Actions ϫʔΫϑϩʔ࡞ • ຖ݄ 9:00AM(JST) ʹ࣮ߦ • Ҏ্ϝοηʔδ͕ແ͍
νϟϯωϧ͕ରͱͳΔΑ͏ ઃఆ • ϗϫΠτϦετΛڥมͰ ઃఆ 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
·ͱΊ ʮPython Ͱ Slack ͷࠔΓ͝ͱΛԿͱ͔ͯ͠Έͨʯ • Γ͍ͨ͜ͱΛ͍ίʔυͰαΫοͱ࣮ݱͰ͖ͯྑ͍ʂ • ࣍ Slack
ʹΞοϓϩʔυͨ͠ϑΝΠϧΛཧ͢Δπʔϧ Λ࡞Γ͍ͨʂ 14