typetalk의bot API로 투고하고 싶어요.

5329 단어 TypetalkPython

하고 싶은 일

  • typetalk의bot API를 통해 메시지를 발표할 수 있기를 희망
  • 표준 입력에서 입력할 수 있다면 다양한 응용을 할 수 있기 때문에 이렇게 하고 싶다
  • 간단한 API 스크립트를 준비하고 싶습니다 (먼저 ptyhon에서)
  • 추진 방법

  • Bot+API Token 생성, 화제 ID 정보 획득
  • sample1.py: 개발 지침을 직접 집행하는 샘플
  • sample2.py: 표준 입력에서 처리를 추가해 보십시오
  • BOT+API Token 생성, 화제 ID 정보 얻기

  • 개발지침: https://developer.nulab-inc.com/ja/docs/typetalk/auth/에 따라 테마에 추가bot
  • ID, 이름은 적당히 하면 됩니다
  • API 역할 영역에 topic.post 권한이 있으면 발언할 수 있음
  • bot에서 화면을 설정한Typetalk Token과bot의 화제를 제작한 URL에서 등TopicID을 확인하고 저장한다.
  • sample1.py: 개발 가이드 샘플 그대로 동작 확인

  • 공식 견본: https://developer.nulab-inc.com/ja/docs/typetalk/samples/#tt_python
  • 환경 이전pip install requests에 Requestshttp://requests-docs-ja.readthedocs.io/en/latest/user/install/ 가져오기
  • 1)에서 얻은 Typetalk Tokentoipic id가 있다면 먼저 시도해 볼 수 있다
  • sample1.py
    import requests
    r = requests.post('https://typetalk.com/api/v1/topics/<topic id>?typetalkToken=<api token>', {'message':'Hello, Typetalk!'})
    print r.status_code
    print r.json()
    
    실행
    python sample1.py
    
  • 확장 견본은 조작이 순조롭게 진행될 때 표준 입력을 받을 수 있도록 한다
  • sample2.py: 표준 입력 가져오기 처리 추가

  • topic_id 및 appitoken을 변수로 변환
  • 표준 입력에서 정보를 얻고 조립할 수 있도록 메시지 확장
  • sample2.py
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import requests
    import sys
    
    topic_id='<topic id>'
    api_token='<api token>'
    
    def main():
    
      lines = sys.stdin.readlines()
      for i, line in enumerate(lines):
        message = message + line
    
      r = requests.post('https://typetalk.com/api/v1/topics/' + topic_id +'?typetalkToken=' + api_token, {'message': message})
    
      r.status_code
      r.json()
    
    if __name__ == "__main__":
      main()
    

    사용법


    sample2.py가 단독으로 실행할 수 있도록 실행 권한을 설정합니다
    chmod +x sample2.py
    
  • 파이프를 통해 표준 입력
  • echo로 떠내려가다
    echo "hogehoge" | sample2.py
    
    cat에서 파일 내용 내보내기
    cat hoge.txt | sample2.py
    
    명령 실행 결과 재생
    date "+%Y-%m%d" | sample2.py
    

    참조 정보

  • 개발 가이드: https://developer.nulab-inc.com/ja/docs/typetalk/auth/
  • 좋은 웹페이지 즐겨찾기