2016-09-25 6 views
0

私はサイト上でチャットボットを実行しています。私はflattrをその中に統合したいと考えています。 Nodeに組み込まれ、フロントエンドがなく、APIを使用してサイトとやりとりするだけです。Flattrをチャットボットに統合

私はこの

ノートような何かをできるようにしたいと思います:「!」ボットのためのすべてのコマンドで始まります私は、これはflattrを受けるか、与えることのいずれかたい人は

はちょうどこのを開始する方法についてのいくつかのガイダンスを探してアカウントを作成する必要がありますを意味します理解ユーザー

をflattrする
!flattr @username

は、アプリケーションを作成し、クライアントIDとシークレットを取得し、のOAuthフローを通過し、ベアラトークンを取得:

は、ここで私は私がする必要が考えているものです。このプロセスにflattr thingのスコープを含める

トークンの有効期限はどのくらいですか?このトークンを頻繁に更新する必要がありますか?

次に、the flattr thing APIエンドポイントを使用する必要があると思いますか?ユーザーはあなたのAPIの中の「もの」と考えられていますか? :idthingの秘密になっていますか?それとも何も公開せずに公開することはできますか?

ユーザーはIDを知っていますか、簡単に見つけられますか?または、その情報を得るためにUsers endpointを使用する必要がありますか?それは追加のスコープを追加することを意味しますか?

これは私の理想的な状況です。チャット、すべてのユーザー設定でflattrアカウントと実行してFlattrするボット接続することができます。そして、私は上記のように、彼らはちょうど!flattr @[username]を使用することができますし、それはそれ


(あるいは、それらがアクセス可能ならばflattr IDを使用することができます)
!flattr addme [flattr username]

ありがとう!

答えて

1

API資格情報が必要ですが、 'flattr'スコープで十分です。 ユーザーを特定し、ユーザーを認証してから、URL:flattringという3つの問題を解決する必要があります(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エンドポイントを参照)。

URLをフラット化するために、アプリケーション(apiクライアント)をFlattrユーザーとして認証する必要があります。 "!flattr @username"というコマンドを入力したFlattrユーザーです。だから、私が提案しているのは、ユーザーがチャットをフラットにする機能を有効にしたいときに、そのユーザーに対してoauth認証を実行し、アクセストークンを保存することです(btwは期限切れになりません)。 ユーザーがチャットに「!flattr @username」と入力すると、ストレージからそのユーザーのアクセストークンを取得し、そのユーザーとしてflattr要求を送信します。

これはそうです。

私は数年前からIRCに似たようなことをしてくれました。それはとてもうまくいったので、あなたのユースケースでもうまくいくはずです。

プロのヒント:/ thingエンドポイントを使用しないでください。すぐに廃止される予定です。 APIのドキュメントは実際に最新ではありませんが、それはまもなく変わるものです。 ユーザーオブジェクトにはまもなく 'idv3'属性が含まれ、 'id'の代わりにユーザーIDとして使用されます。

ソース:am Flattr dev。