APIでの利用方法

シグナル

編集

目次

グローバルシグナル

グローバルシグナルの送信

メソッドwindow.RPGAtsumaru.signal.sendSignalToGlobal(data: string)
説明ゲームのグローバルシグナルとして data で指定した文字列を送信します。
引数data : シグナルとして、任意の文字列を100byte以内で送信できます。
戻り値Promise<void>
  • グローバルシグナルは1ゲームあたり1,000件まで保存されます。

起こりうるエラーの種類

名前説明
UNAUTHORIZEDプレイヤーがログインしていない
BAD_REQUEST
  • data に100byte以上の文字列を指定した
  • 引数として不正な値を指定している
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にRPGアツマール ゲームAPIを利用しすぎて、一時的に利用を制限されている

グローバルシグナルの取得

メソッドwindow.RPGAtsumaru.signal.getGlobalSignals()
説明送信されたゲームのグローバルシグナルを取得します。
引数なし
戻り値Promise<GlobalSignal[]>
  • グローバルシグナルは1ゲームあたり1,000件まで保存されます。

戻り値の型 GlobalSignal について

戻り値で取得できる GlobalSignal は以下のような型です。

interface GlobalSignal {
    id: number;
    senderId: number;
    senderName: string;
    data: string;
    createdAt: number;
}

プロパティの内容は次のようになっています。

プロパティ内容
dnumberシグナルそれぞれでユニークなID値
senderIdnumberシグナルを送信したユーザーのニコニコユーザーID
senderNamestringシグナルを送信したユーザーのユーザー名
datastring送信したシグナル文字列
createdAtnumberシグナルが送信された日時(秒単位のunix timestamp)。すでに処理済みのシグナルを判別するために用います。

戻り値の例

// window.RPGAtsumaru.signal.getGlobalSignals().then(function(v) { console.log(v) }) を実行
[
  {
    createdAt: 1543397700,
    data: "test data",
    id: 3,
    senderId: 12345,
    senderName: "user1"
  },
  {
    createdAt: 1543397701,
    data: "test data2",
    id: 4,
    senderId: 12346,
    senderName: "user2"
  },
]

起こりうるエラーの種類

名前説明
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にRPGアツマール ゲームAPIを利用しすぎて、一時的に利用を制限されている

ユーザーシグナル

ユーザーシグナルの送信

メソッドwindow.RPGAtsumaru.signal.sendSignalToUser(receiverId: number, data: string)
説明ユーザーシグナルとして receiverId で指定したユーザーIDのユーザーに data で指定した文字列を送信します。
引数
  • receiverId : 送信先のニコニコユーザーIDを指定します。
  • data : シグナルとして、任意の文字列を100byte以内で送信できます。
戻り値Promise<void>
  • ユーザーシグナルは、ユーザーあたり100KBまで保存されます。
  • 他のゲームからのシグナル送信によっても消える可能性があります。
  • また、ゲームあたり1ユーザー10KBまたは1000件までとなります。
  • ゲームからのシグナル送信によって、古いシグナルから消えていきます。

起こりうるエラーの種類

名前説明
UNAUTHORIZEDプレイヤーがログインしていない
FORBIDDENuserIdプレイヤー間通信の有効化を行っていないユーザーのIDを指定した
BAD_REQUEST
  • data に100byte以上の文字列を指定した
  • 引数として不正な値を指定している
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にRPGアツマール ゲームAPIを利用しすぎて、一時的に利用を制限されている

ユーザーシグナルの取得

メソッドwindow.RPGAtsumaru.signal.getUserSignals()
説明プレイしているユーザーのユーザーシグナルを取得します。
引数なし
戻り値Promise<UserSignal[]>
  • ユーザーシグナルは、ユーザーあたり100KBまで保存されます。
  • 他のゲームからのシグナル送信によっても消える可能性があります。
  • また、ゲームあたり1ユーザー10KBまたは1000件までとなります。
  • ゲームからのシグナル送信によって、古いシグナルから消えていきます。

    戻り値の型 UserSignal について

    戻り値で取得できる UserSignal は以下のような型です。
interface UserSignal {
    id: number;
    senderId: number;
    senderName: string;
    data: string;
    createdAt: number;
}

プロパティの内容は次のようになっています。

プロパティ内容
idnumberシグナルそれぞれでユニークなID値
senderIdnumberシグナルを送信したユーザーのニコニコユーザーID
senderNamestringシグナルを送信したユーザーのユーザー名
datastring送信したシグナル文字列
createdAtnumberシグナルが送信された日時(秒単位のunix timestamp)。すでに処理済みのシグナルを判別するために用います。

戻り値の例

// window.RPGAtsumaru.signal.getUserSignals().then(function(v) { console.log(v) }) を実行
[
  {
    createdAt: 1543397700,
    data: "test data",
    id: 3,
    senderId: 12345,
    senderName: "user1"
  },
  {
    createdAt: 1543397701,
    data: "test data2",
    id: 4,
    senderId: 12346,
    senderName: "user2"
  },
]

起こりうるエラーの種類

名前説明
UNAUTHORIZEDプレイヤーがログインしていない
INTERNAL_SERVER_ERRORRPGアツマールのサービス側で何らかの問題が発生しているか、または通信に失敗した
API_CALL_LIMIT_EXCEEDED短時間にRPGアツマール ゲームAPIを利用しすぎて、一時的に利用を制限されている

関連ドキュメント

ドキュメントリンク備考
機能解説シグナル機能概要や全般的な解説
プラグインでの利用方法プラグインでの利用方法RPGツクールシリーズユーザー向け

最終更新日

  • 2020/02/28