connpassAPI와 webhook을 사용하여 slack에게 스터디 정보를 알립니다.

추기 2019/12/22 상황보고



계기



connpass의 공부회 정보를 자동으로 통지해 줄 수 없을까 생각한 것이 계기입니다. 회원이 되고 있는 공부회의 정보는 메일로 통지가 옵니다만, 멤버가 되어 있지 않은 연구회는 통지가 오지 않기 때문에, 불편합니다. 그렇다면 스스로 만들어 보자.

설명



간단히 설명하면, connpassAPI를 사용하여 스터디 정보를 얻고 그것을 webhook을 사용하여 slack에 알리는 느낌입니다. 자신의 관심있는 키워드를 지정하여 해당 키워드에 히트한 스터디 정보를 알립니다.
데이터 취득(cron으로 정해진 시간에 실행)
        ↓
새로운 연구회가 있거나 데이터베이스에 저장된 데이터와 비교
        ↓
새로운 연구회가 있으면 slack에 보내기

사용한 것



・사쿠라의 VPS
· 파이썬 3.6.8
· mysql 5.7.27
· webhook
・github(프라이빗 리포지토리)
· cron

문제점



만들 때 몇 가지 문제점이있었습니다.
· 오래된 정보 취득
너무 많은 공부회의 열려 있지 않은 키워드를 지정하면, 데이터를 취득한 날보다 과거의 연구회 정보도 취득되어 버립니다. 그 때문에, 취득한 정보가 과거의 것인가 날짜 비교의 처리를 넣었습니다.
· 관계없는 공부회 취득
connpassAPI의 키워드 검색에서는 문장 중에 그 키워드가 있으면 히트합니다. 예를 들면, 후쿠오카현에서 행해지는 이벤트를 키워드로 지정해 검색하면, 문장중의 강사 소개란등에 후쿠오카현 출신과 있으면 히트 해 버립니다. 그래서, API의 검색에서는 대략적으로 검색받아, 이후의 정규 표현으로 개최 장소를 좁히고 있습니다.
또한, 개최 장소뿐만 아니라 "python", "보안"등의 키워드를 검색했을 경우도, 문장중에 그 키워드가 포함되어 있으면 히트합니다. (예를 들어, "보안적으로 신분의 ..."등 이벤트의 내용과 관계가 없는 곳에서 히트해 버린다) 그 이벤트가 자주 행해지고 있는 경우, 방해가 되어 오므로 이벤트의 타이틀에 대해서 정규 표현을 사용하여 연주하고 있습니다.

만들어 보자.



파이썬은 기초를 한 정도, 데이타베이스는 강의의 좌학으로 배운 정도였기 때문에, 잘 되지 않는 것이 많았습니다만, 매우 공부가 되었습니다. 에러 해결하기 위해 여러가지 조사하기 때문에, 지식이 늘어났다고 생각합니다.

코드



htps : // 기주 b. 코 m / 호타로 우 ぢ sm / 곤파 사피 - ゔ ぇ t의 치후

추가



한 달 이상 사용하고 있지만 잘 작동합니다. (후쿠오카현에서 검색을 하고 있습니다)

좋은 웹페이지 즐겨찾기