일 속에 있는 『T』를 우리들과 함께 찾아가자! ! !

티! 티티! 티! 티! 티티!



일에 지친 모두! 우리와 함께 일 속에 있는 『T』를 찾아가자!

티-! ! ! ! !



투고한 문자열 중에서 『티』가 포함된 단어를 찾아 스레드에 통지를 날립니다!
(『티』의 문자가 적었기 때문에『치』도 포함하고 있습니다)


함께 'T'를 찾는 유쾌한 동료들



· Slack API
· COTOHA API 포털
GoogleCloudFunctions (정기 실행할 수 있는 환경이면 무엇이든 OK)
· Python 3.7

만드는 방법



SlackBot 준비



Slack API 에서 앱을 만들어갑니다.
우선 『T』를 찾는 SlackBot(TT형제Bot)을 준비합시다.

그건 그렇고 SlackBot의 UI가 바뀐 것을 아십니까?
APP_HOME에 이름을 등록하지 않으면 Bot으로 이용할 수 없으므로 잊지 마세요!

필요한 Scope는 다음과 같습니다.


Scope
사용할 method
목적


channels:history
conversation.history
게시물 가져오기

chat:write
conversations.replies
소식에 댓글 남기기


COTOHA API 준비



COTOHA API 포털 에서 계정을 만드세요.
작성하면 아래와 같은 로그인 페이지를 볼 수 있게 된다고 생각합니다.

이 매개 변수를 사용하여 COTOHA API를 사용합니다.

COTOHA API 사용



액세스 토큰을 만드는 방법
curl -X POST \
 -H "Content-Type:application/json" \
 -d '{
  "grantType": "client_credentials",
  "clientId": "CLIENT_ID",
  "clientSecret": "CLIENT_SECRET"
}' https://api.ce-cotoha.com/v1/oauth/accesstokens

여기를 실행하면
{
  "access_token": "ACCESS_TOKEN",  // アクセストークン
  "token_type": "bearer",
  "expires_in": "86399" , // 24時間有効
  "scope": "" ,
  "issued_at": "1581398461378"
}

액세스 토큰을 얻을 수 있습니다.

API 실행

이번은 구문 분석의 API를 사용하고 싶기 때문에 구문 분석 참조 를 참고로 실행합니다.
curl -X POST \
 -H "Content-Type:application/json;charset=UTF-8" \
 -H "Authorization:Bearer ACCESS_TOKEN" \
 -d '{
  "sentence":"犬は歩く。",
  "type": "default"
}' https://api.ce-cotoha.com/api/dev/nlp/v1/parse

에서
실행 결과
{
  "result" : [ {
    "chunk_info" : {
      "id" : 0,
      "head" : 1,
      "dep" : "D",
      "chunk_head" : 0,
      "chunk_func" : 1,
      "links" : [ ]
    },
    "tokens" : [ {
      "id" : 0,
      "form" : "犬",
      "kana" : "イヌ",
      "lemma" : "犬",
      "pos" : "名詞",
      "features" : [ ],
      "dependency_labels" : [ {
        "token_id" : 1,
        "label" : "case"
      } ],
      "attributes" : { }
    }, {
      "id" : 1,
      "form" : "は",
      "kana" : "ハ",
      "lemma" : "は",
      "pos" : "連用助詞",
      "features" : [ ],
      "attributes" : { }
    } ]
  }, {
    "chunk_info" : {
      "id" : 1,
      "head" : -1,
      "dep" : "O",
      "chunk_head" : 0,
      "chunk_func" : 1,
      "links" : [ {
        "link" : 0,
        "label" : "agent"
      } ],
      "predicate" : [ ]
    },
    "tokens" : [ {
      "id" : 2,
      "form" : "歩",
      "kana" : "アル",
      "lemma" : "歩く",
      "pos" : "動詞語幹",
      "features" : [ "K" ],
      "dependency_labels" : [ {
        "token_id" : 0,
        "label" : "nsubj"
      }, {
        "token_id" : 3,
        "label" : "aux"
      }, {
        "token_id" : 4,
        "label" : "punct"
      } ],
      "attributes" : { }
    }, {
      "id" : 3,
      "form" : "く",
      "kana" : "ク",
      "lemma" : "く",
      "pos" : "動詞接尾辞",
      "features" : [ "終止" ],
      "attributes" : { }
    }, {
      "id" : 4,
      "form" : "。",
      "kana" : "",
      "lemma" : "。",
      "pos" : "句点",
      "features" : [ ],
      "attributes" : { }
    } ]
  } ],
  "status" : 0,
  "message" : ""
}

쉽게 문자 가나를 잡았습니다!
이것을 사용해, 「T(티)」를 찾습니다! !

코드 작성



이번 만드는 기능의 구성은 아래 그림과 같이 해 갑니다.

코드는 GitHub 에 공개하고 있으므로 자유롭게 봐 주세요.

코드를 외부 게시



무료로 시험할 수 있는 환경을 찾고 있었습니다만, 이하의 기사가 참고가 되었습니다.
Google Cloud Function + Cloud Scheduler + Python에서 정기적으로 Twitter 게시
이번에 GitHub 에 놓고 있는 코드는 토큰을 다시 쓰는 것만으로 copipe로 갈 수 있을 것이다…

주의점


  • COTOHA API의 각 API의 실행 횟수는 1000회/일까지
  • SlackBot은 해당 채널에 추가해야합니다

  • 요약



    이번 COTOHA API 를 사용해 보았습니다만, 영어 → 가나 를 할 수 있는 것이 충격으로, 김으로 「T」를 찾는 툴을 만들어 보았습니다!
    『T』이외에도 검지하는 문자열을 자유롭게 바꿀 수 있기 때문에 『아츠이』라고 하면 지는 채널을 만들거나 『할 수 없다』라고 하면 격려해 주는 채널도 만들 수 있다고 생각합니다.
    여러가지 만들어 보는 것은 어떻습니까? 여기까지 읽어 주셔서 감사합니다!

    좋은 웹페이지 즐겨찾기