2016-09-25 1 views
0

나는 사이트에서 chatbot을 실행 중이므로 flattr을 통합 할 수 있기를 바랍니다. 노드에 구축되었으며 프론트 엔드가 없으며 API 만 사용하여 사이트와 상호 작용합니다.Flattr을 채팅 봇에 통합

나는이

참고처럼 뭔가를 할 수 있도록하고 싶습니다 : ""로봇에 대한 모든 명령 시작
!flattr @username 내가 계정 그냥이를 시작하는 방법에 대한 몇 가지 지침을 찾고

받거나 flattr 만들 것주고 하나를 원하는 사람들을 의미 할 것입니다 이것을 이해 사용자

을 flattr합니다.

이 응용 프로그램을 작성 클라이언트 ID와 비밀을 취득하여 OAuth 흐름을 통해 이동 무기명 토큰을 얻을 :

는 여기에 내가해야 할 내가 무엇을 생각하고 있습니다. 이 과정에서 flattr thing의 범위 포함

토큰의 유효 기간은 얼마나됩니까? 이 토큰을 자주 업데이트해야합니까?

그렇다면 the flattr thing API 끝점을 사용해야할까요? 사용자가 귀하의 API에서 '사물'로 간주됩니까? thing에 대한 :id이 있습니까? 아니면 해로움없이 공개 할 수 있습니까?

사용자가 자신의 ID를 알고 있습니까? 아니면 쉽게 찾을 수 있습니까? 또는 해당 정보를 얻으려면 Users endpoint을 사용해야합니까? 추가 범위를 추가한다는 의미입니까?

이것은 내 이상적인 상황입니다. 모든 사용자를 셋업 flattr 계정을 채팅에서와 수행하여 Flattr 할 수있는 로봇 연결할 수 있습니다
!flattr addme [flattr username]을 내가 위에서 언급 한 것처럼, 그들은 단지 !flattr @[username]을 사용할 수 있습니다 다음
(또는 접근 한 경우에는 flattr ID를 사용할 수 있습니다) 그리고 그것을

있어

감사합니다!

답변

1

API 자격 증명이 필요하지만 'flattr'범위로 충분해야합니다. 사용자를 식별하고 사용자를 인증 한 다음 URL을 평평하게 만드는 세 가지 문제를 해결해야합니다 (Flattr 시스템은 URL : s에서만 작동하기 때문에).

귀하의 응용 프로그램/사이트가 각 사용자에 대한 프로필 페이지를 제공하면 가장 쉽습니다. 'http://example.com/user/francisc0'과 같은 것입니다. 그런 다음 해당 URL로/flattr 끝점을 호출하면됩니다. URL의 응답에는 Flattr이 Flattr 사용자를 식별하는 데 사용할 수있는 것이 있거나 이라는 사용자 ID를 flattr 요청과 함께 전달해야합니다. 자동 제출 URL : s에서 읽으십시오. 는하지만 짧은에, 자동 제출 URL은 (사용자 이름에서 조회 할 수 있다는 고유 또는 뭔가 다른) 채팅에 고유 한 사용자 이름이 필요합니다 사용자를 식별하기 위해 https://flattr.com/submit/auto?fid=abc123&url=http%3A%2F%2Fexample.com%2Fuser%2Ffrancisc0

처럼 보인다 . 각 사용자는 자신의 flattr id가 무엇인지 응용 프로그램에 알려야합니다. 이것은 사용자가 수동으로 ID를 추가하거나 API에서 가져올 수있는 입력 필드만큼 간단 할 수 있습니다 (/ user 끝점보기).

이제 flattr을 사용하려면 응용 프로그램 (api 클라이언트)을 Flattr 사용자로 인증해야합니다. "! flattr @username"명령을 입력 한 Flattr 사용자입니다. 그래서 내 제안은 사용자가 채팅에 flattr 기능을 사용하도록 설정하려고 할 때 oauth 인증을 수행하고 액세스 토큰을 저장한다는 것입니다 (결코 btw가 만료되지 않습니다). 사용자가 채팅에 "! flattr @username"을 입력하면 저장 장치에서 해당 사용자의 액세스 토큰을 검색 한 다음 flattr 요청을 해당 사용자로 보냅니다.

그래야합니다.

나는 IRC에 대해 몇 년 전에 비슷한 것을 했으므로 훌륭하게 작동하여 사용 사례에도 잘 맞아야합니다.

Pro 추가 정보 :/끝점은 곧 사용되지 않으므로 사용하지 마십시오. API 문서는 실제로 최신 정보가 아니지만 곧 변경 될 수도 있습니다. 사용자 개체는 곧 'idv3'특성을 포함하고 'id'대신 사용자 ID로 사용합니다.

출처 : am Flattr dev.

관련 문제