준호씨의 블로그

정원사들 시즌6 시작. 출석부 만들기 본문

개발이야기

정원사들 시즌6 시작. 출석부 만들기

준호씨 2021. 1. 21. 00:05
반응형

2021-01-18 (월) 정원사들 시즌6가 시작되었습니다. 정원사들은 간단히 말하면 github에 일일 커밋을 하는 모임이라고 보면 됩니다. 커밋을 할 때마다 초록색 점들이 생기고 이것을 정원에 비유해서 정원사들입니다.

저는 정원사들 시즌4,5 때 출석부를 만들었었는데요.

정원사들 시즌5 출석부

정원사들 시즌6에서도 기존 소스를 이용해서 부랴부랴 출석부를 만들었습니다. 시즌5 때 출석부를 좀 업그레이드하고 싶었는데 별로 못했어서 이번 시즌6에서는 좀 업그레이드를 해보고 싶네요.

시즌4 출석부를 기반으로 시즌5 출석부를 만들 때 python 버전 문제라던지 몇 가지 우여곡절이 있었는데요.

이번에는 slack api가 변경되어서 좀 더 고생한 거 같습니다. 사실 변경되었다기보다는 옛날 방식을 못쓰게 되었달까요?

slack api 사용 방법의 변경

slack api에 가서 app을 만들어야 합니다. 그리고 OAuth & Permissions에 가서 이런저런 권한을 추가해 주어야 합니다.

제가 세팅한 권한이 다 필요한지는 잘 모르겠는데요. 될 때까지 계속 권한을 추가했습니다 ^^;

그런데 "not_in_channel"이라는 오류가 나오더군요. 알고 보니 생성한 앱(봇)을 채팅 내용을 수집할 채널로 초대를 해 주어야 되더군요.

초대 방법은 "/invite @botname"입니다. "/invite @garden6"로 초대했네요. 사용자 초대와는 달리 @를 붙여주어야 합니다.

 

slack api - channels.history deprecated. conversations.history로 변경

예전에는 대화 내용을 가져올 때 channels.history를 사용했었습니다.

api.slack.com/methods/channels.history

 

channels.history Slack API Method

Fetches history of messages and events from a channel.

api.slack.com

그런데 해당 api를 호출하니 deprecated 되었다고 경고가 나오네요.

api.slack.com/methods/conversations.history

 

conversations.history Slack API Method

Fetches a conversation's history of messages and events.

api.slack.com

conversations.history로 바뀌었다고 합니다. 이참에 대화 내용 가져오는 api도 변경하였습니다.

 

이런저런 이슈들이 있었지만 어쨌건 정원사들 시즌6 출석부 오픈 성공했네요.

 

정원사들 시즌6 - 출석부

 

garden6.junho85.pe.kr

촌스러운 디자인부터 어떻게 좀 하고 싶지만 일단은 어드민 기능을 만들어 보려고 합니다.

종종 slack 메시지가 누락되는지 어떤지 모르겠는데 누락된 출석을 수동으로 채워줘야 되는 경우가 있습니다. 수동 출석 기능을 추가하려고 하고요.

몇몇 코드에 시작일 날짜가 하드 코딩되어 있는데 설정값에서 가져오도록 수정해야 합니다.

참가자 목록도 설정 파일에 직접 입력하고 있는데 이거도 툴로 만들면 좋겠네요.

 

다음 글

 

정원사들 출석부. 로그인 기능 추가

이전 글 정원사들 시즌6 시작. 출석부 만들기 2021-01-18 (월) 정원사들 시즌6가 시작되었습니다. 정원사들은 간단히 말하면 github에 일일 커밋을 하는 모임이라고 보면 됩니다. 커밋을 할 때마다 초

junho85.pe.kr

 

반응형
Comments