slack-to-gcal
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseslack-to-gcal
slack-to-gcal
Slack 메시지에 이모지 반응한 사람들을 Google Calendar 이벤트에 자동 초대하는 스킬.
自动将对Slack消息做出表情反应的用户邀请至Google Calendar事件的Skill。
Step 1: 링크 수집
步骤1:收集链接
사용자에게 두 가지 링크를 받는다.
- Slack 메시지 링크: 이모지 반응을 받은 메시지의 링크
- Slack에서 메시지 우클릭 → "링크 복사"
- 예:
https://eo2019.slack.com/archives/C01N15328HG/p1772186298231169
- Google Calendar 이벤트 링크: 초대할 이벤트의 편집 URL
- 캘린더에서 이벤트 클릭 → 연필(편집) 아이콘 → 주소창 URL 복사
- 예:
https://calendar.google.com/calendar/u/0/r/eventedit/NGhwY3Y4...
아직 두 링크를 받지 않은 경우 AskUserQuestion으로 요청한다:
json
AskUserQuestion({
"questions": [
{
"question": "이모지 반응을 받은 Slack 메시지 링크를 붙여넣으세요.",
"header": "Slack 링크",
"options": [
{"label": "링크 준비됨", "description": "다음 단계로 진행"},
{"label": "링크 찾는 중", "description": "메시지 우클릭 → 링크 복사"}
],
"multiSelect": false
}
]
})向用户收集两个链接:
- Slack消息链接:收到表情反应的消息链接
- 在Slack中右键点击消息 →「复制链接」
- 示例:
https://eo2019.slack.com/archives/C01N15328HG/p1772186298231169
- Google Calendar事件链接:待邀请事件的编辑URL
- 在日历中点击事件 → 铅笔(编辑)图标 → 复制地址栏URL
- 示例:
https://calendar.google.com/calendar/u/0/r/eventedit/NGhwY3Y4...
如果尚未收到这两个链接,使用AskUserQuestion进行请求:
json
AskUserQuestion({
"questions": [
{
"question": "이모지 반응을 받은 Slack 메시지 링크를 붙여넣으세요.",
"header": "Slack 링크",
"options": [
{"label": "링크 준비됨", "description": "다음 단계로 진행"},
{"label": "링크 찾는 중", "description": "메시지 우클릭 → 링크 복사"}
],
"multiSelect": false
}
]
})Step 2: 스크립트 실행
步骤2:运行脚本
두 링크를 받으면 아래 명령어를 실행한다.
bash
cd C:\Users\ash\ash
printf 'y\n' | PYTHONIOENCODING=utf-8 python scripts/tools/slack_to_gcal.py \
--slack "[SLACK_링크]" \
--cal "[CALENDAR_링크]"- 와
[SLACK_링크]를 사용자가 제공한 실제 링크로 교체[CALENDAR_링크] - 이 있으면 Google 로그인 없이 바로 실행됨
token_calendar.json
收到两个链接后,执行以下命令:
bash
cd C:\Users\ash\ash
printf 'y\n' | PYTHONIOENCODING=utf-8 python scripts/tools/slack_to_gcal.py \
--slack "[SLACK_링크]" \
--cal "[CALENDAR_링크]"- 将和
[SLACK_링크]替换为用户提供的实际链接[CALENDAR_링크] - 若存在,无需Google登录即可直接运行
token_calendar.json
Step 3: 결과 요약
步骤3:结果汇总
스크립트 출력 결과를 보기 좋게 정리해서 보여준다:
✅ 완료!
이벤트: [이벤트 제목]
일시: [날짜/시간]
이모지 반응자 총 N명
├── 새로 초대됨 (N명): 이름, 이름, 이름
└── 이미 초대됨 (N명): 이름, 이름将脚本输出结果整理为易读格式展示:
✅ 완료!
이벤트: [이벤트 제목]
일시: [날짜/시간]
이모지 반응자 총 N명
├── 새로 초대됨 (N명): 이름, 이름, 이름
└── 이미 초대됨 (N명): 이름, 이름참고
参考信息
- 스크립트 위치:
scripts/tools/slack_to_gcal.py - Google Calendar 토큰: (최초 1회 브라우저 로그인 필요)
token_calendar.json - Slack 봇 토큰: 의
.envSLACK_BOT_TOKEN - 필요 스코프: ,
reactions:read,users:readusers:read.email
- 脚本位置:
scripts/tools/slack_to_gcal.py - Google Calendar令牌:(首次需通过浏览器登录)
token_calendar.json - Slack机器人令牌:文件中的
.envSLACK_BOT_TOKEN - 所需权限范围:,
reactions:read,users:readusers:read.email