Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Pythonでslackの困りごとを何とかしてみた①
Search
しみず ゆうき
September 09, 2020
Programming
360
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 しみず ゆうき
技術イベントの甲府一極集中問題をオープンデータで解決してみる
yuukis
0
97
12年前のAndroidアプリを蘇らせた話
yuukis
0
74
EventBridgeで地域イベントのイベントストリームを作ってみた
yuukis
0
140
2025年 山梨の技術コミュニティを振り返る
yuukis
0
470
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
1.3k
Perlで痩せる
yuukis
1
930
Pythonで遊べるLEDボードの紹介
yuukis
0
170
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
730
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
630
Other Decks in Programming
See All in Programming
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
1.9k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
2.7k
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
440
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
220
SREの越境 / SRE Collaboration
y0hgi
2
240
FreeBSDでZabbixを動かす
kenkino
0
310
Webの地図
yosuke_furukawa
PRO
6
4.6k
setup-vp GitLab対応の裏側
naokihaba
0
110
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
410
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
490
アクセシビリティから考える情報設計
high_g_engineer
0
380
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
How STYLIGHT went responsive
nonsquared
100
6.3k
Site-Speed That Sticks
csswizardry
13
1.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
870
Accessibility Awareness
sabderemane
1
210
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
510
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
GraphQLとの向き合い方2022年版
quramy
50
15k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
530
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