gbf-roomfinder-parse
📦
共闘救援ツイートのオブジェクト変換関数
📥 Installation
npm install gbf-roomfinder-parse --save# or yarn add gbf-roomfinder-parse
💡 Motivation
gbf-roomfinderの特に行数の多かった部分を外部ライブラリ化し、メンテナンスを容易にするため。
📜 API
parse(str)
-> roomData
str
をツイートとして、含まれる部屋情報を抽出してオブジェクトを返します。
ツイート内に「マルチバトル参加者募集!」もしくは「Join my Granblue Fantasy raid room!」をふくむ場合、マルチバトル部屋として以下のキーを持つオブジェクトを返します。
type
値はraid
固定ですid
部屋id。6桁の文字列。デフォルト''
only
募集対象。「誰でもOK!」の場合、空文字''
を返します。デフォルト''
readyCheck
バトル開始承認。デフォルトtrue
max
参戦人数。デフォルト30
over
募集ランク。デフォルト0
repeat
連続クエスト設定。デフォルト0
title
コメント。募集リストに表示される部屋名です。デフォルト''
// => { type: 'raid', id: '930EBC', only: '', readyCheck: false, max: 6, over: 140, repeat: 0, title: 'プロメテhlお手伝いお願いします(`・∀・´)' } // => { type: 'raid', id: '556707', only: '', readyCheck: false, max: 30, over: 101, repeat: 0, title: 'Baha baha' }
マルチバトル部屋でない場合、それは共闘クエスト部屋として以下のキーを持つオブジェクトを返します。
type
値はcoop
固定ですid
部屋id。6桁の文字列。デフォルト''
only
募集対象。「誰でもOK!」の場合、空文字''
を返します。デフォルト''
over
募集ランク。デフォルト0
title
コメント。募集リストに表示される部屋名です。デフォルト''
// => { type: 'coop', id: 'DA456', only: '', over: 0, title: 'スラ爆時間貼り15分貼り!理解者のみ' } // => { type: 'coop', id: '6B0E3', only: 'Pandemonium', over: 0, title: 'キマイラ周回\nニルヴァーナレプリカ出るまで' },
引数が空文字だったり、値が正しく読み取れなかったとき、それぞれのデフォルト値を使用します。
// => { type: 'coop', id: '', only: '', over: 0, title: '' }
title
は、その性質上、ツイート時に投稿者が内容を書き加えることが多くあるため、留意してください。(「あと2人です!」など、現状を追記するなど)
🔧 Development
Requirement global
- NodeJS v8.2.1
- Npm v5.3.0
- Yarn v0.27.5
git clone https://github.com/59naga/gbf-roomfinder-parsecd gbf-roomfinder-parse/developmentyarn install npm test