gbf-raid-server
node-twitterとsocket.ioのグルーコードをグラブル用に調整し、クラスと関数で提供します。
# export GBFR_KEYS=consumer_key:consumer_secret:access_token_key:access_token_secret # node --experimental-modules app.mjs
;;;; const port = processenvPORT || 8080; const raidServer = ;const server = ; server;
インストール
npm install gbf-raid-server# or yarn add gbf-raid-server
API
createRaidServer(TWITTER_OAUTH_KEYS, Options={}): raidServer
第一引数にtwitter-apiの各4キーを:
で連結して文字列で渡し、raidServer
インスタンスを返します。
const raidServer = ;
raidServer.subscribe(ioServer): this
第一引数をsocket.io
インスタンスとして
server
にgbf-raid-server:cache
イベントを設定します。このイベントがclient
から送られると、server
はコールバック関数の第二引数に即座にキャッシュを渡します。client
へgbf-raid-server:tweet
イベントを送信します。このイベントはstreaming-apiによって、救援ツイート1つにつき1イベントリアルタイムで発生します;
raidServer.setCache(Tweet[]): this
サーバーのキャッシュを第一引数に変更します。client
がサービスにアクセス時、過去のツイートを確認するために必要です。
.fetch
を利用して定期的に更新してください。
raidServer.fetch(count = 100): Promise<Statuses[]>
過去のツイートをPromise
で取得します。返されるデータには救援データと関係のないメタ情報が多量に含まれるので、parseAll
関数などで抽出してください。
parseAll(Statuses[]): Tweet[]
raidServer.fetch
で取得したツイートのメタ情報を削除して新しい配列を返します。
;// [{id: '451A60CE', name: 'Lv100 ティアマト・マグナ=エア', memo: '毎秒チョクチェしろ', createdAt: '2018-07-06 10:26:56'}, {...}]
開発環境
下記がグローバルインストールされていることが前提です。
- NodeJS v10.6.0
- Yarn v1.8.0
git clone git@github.com:59naga/gbf-raid-server.gitcd gbf-raid-server yarnyarn test
Lincense
MIT