NAV Navbar
Python Java GS2-Formation
 

GS2-Lottery

抽選処理を実現するサービスです。

抽選処理は排出確率テーブルを元に行われます。 排出確率テーブルには、景品ごとの排出される重みを設定します。 例えば、景品Aに3を設定し、景品Bに1を設定した場合、景品Aの排出確率は75%、景品Bは排出確率は25%となります。

また、景品として他の排出確率テーブルを設定することもできます。 あらかじめSSR、SR、Rなどの同一レアリティごとに排出確率テーブルを用意しておき、それらを景品とした排出確率テーブルをつくることで、レアリティごとの排出確率を容易に設定できます。

抽選処理には2つのモードがあり、抽選の種類で設定できます。 1つ目は毎回変わらない確率で一様に抽選処理を行うモード、2つ目はボックスガチャモードです。 ボックスガチャとは、抽選処理を行うごとに景品を箱から取り出していき、最初に箱に入れた数と同回数抽選を行うと、必ずすべての景品が手に入るという方式です。 モードにボックスガチャを設定した場合は、排出テーブルに設定した重みの数だけ箱に景品が入った状態から抽選が始まります。

GS2-Lottery のデータ構造は以下です。

モデル

Namespace

ネームスペース

ネームスペースには抽選回数や抽選方式(通常・ボックス)モデル、排出確率テーブルを最大50種類ずつ指定できます。 50種類超える見込みがある場合はネームスペースを抽選のカテゴリごとに分割することを事前に検討してください。

ネームスペースを分割することで生じるデメリットとして、抽選モデルのマスターデータを取得する際にネームスペースを超えて同時に取得することはできないことがあります。

パラメータ データ型 必須 説明
namespaceId string true ネームスペース
ownerId string true オーナーID
name string true ネームスペース名
description string false ネームスペースの説明
queueNamespaceId string false 景品付与処理をジョブとして追加するキューのネームスペース のGRN
keyId string true 景品付与処理のスタンプシートで使用する暗号鍵GRN
lotteryTriggerScriptId string false 抽選処理時 に実行されるスクリプト のGRN
choicePrizeTableScriptId string false 排出テーブル選択時 に実行されるスクリプト のGRN
logSetting LogSetting false ログの出力設定
createdAt long true 作成日時
updatedAt long true 最終更新日時

LotteryModelMaster

抽選の種類マスター

排出確率テーブルや抽選する回数ごとに種類を定義します。 このモデルはマスターデータを管理するもので、最終的にはエクスポートして利用します。

パラメータ データ型 必須 説明
lotteryModelId string true 抽選の種類マスター
name string true 抽選モデルの種類名
metadata string false 抽選モデルの種類のメタデータ
description string false 抽選の種類マスターの説明
mode string true 抽選モード
method string true 抽選方法
prizeTableName string true 景品テーブルの名前
choicePrizeTableScriptId string true 抽選テーブルを確定するスクリプト のGRN
createdAt long true 作成日時
updatedAt long true 最終更新日時

PrizeTableMaster

排出確率テーブルマスター

排出する景品と、その排出する確率の重みを設定します。 このモデルはマスターデータを管理するもので、最終的にはエクスポートして利用します。

パラメータ データ型 必須 説明
prizeTableId string true 排出確率テーブルマスター
name string true 排出確率テーブル名
metadata string false 排出確率テーブルのメタデータ
description string false 排出確率テーブルマスターの説明
prizes list[Prize] true 景品リスト
createdAt long true 作成日時
updatedAt long true 最終更新日時

Box

ボックス

排出済みの景品を管理します。 排出済みの景品は、排出確率テーブルに設定された重みの合計に対するインデックスで管理されます。 そのため、抽選を行った後で排出確率テーブルの重みを変更すると排出済み景品との不整合が発生します。

パラメータ データ型 必須 説明
boxId string true ボックス
prizeTableName string true 排出確率テーブル名
userId string false ユーザーID
drawnIndexes list[integer] true 排出済み景品のインデックスのリスト
createdAt long true 作成日時
updatedAt long true 最終更新日時

LotteryModel

抽選の種類

排出確率テーブルや抽選する回数ごとに種類を定義します。

パラメータ データ型 必須 説明
lotteryModelId string true 抽選の種類マスター
name string true 抽選モデルの種類名
metadata string false 抽選モデルの種類のメタデータ
mode string true 抽選モード
method string true 抽選方法
prizeTableName string true 景品テーブルの名前
choicePrizeTableScriptId string true 抽選テーブルを確定するスクリプト のGRN

PrizeTable

排出確率テーブル

排出する景品と、その排出する確率の重みを設定します。

パラメータ データ型 必須 説明
prizeTableId string true 排出確率テーブルマスター
name string true 景品テーブル名
metadata string false 景品テーブルのメタデータ
prizes list[Prize] true 景品リスト

Lottery

抽選処理

パラメータ データ型 必須 説明

Probability

排出レート

通常抽選ではすべてのゲームプレイヤーに対して同じ確率を応答します。 ボックス抽選ではボックスの中身の残りを考慮したゲームプレイヤーごとに異なる確率を応答します。

パラメータ データ型 必須 説明
prize DrawnPrize true 景品の種類
rate float true 排出確率(0.0〜1.0)

CurrentLotteryMaster

現在有効な抽選設定

エクスポートしたマスターデータを、現在有効な抽選設定としてインポートして使用します。

パラメータ データ型 必須 説明
namespaceId string true ネームスペース
settings string true マスターデータ

ResponseCache

レスポンスキャッシュ

パラメータ データ型 必須 説明
region string false
ownerId string true オーナーID
responseCacheId string true レスポンスキャッシュ のGRN
requestHash string false
result string true APIの応答内容

GitHubCheckoutSetting

GitHubからリソースをチェックアウトしてくる設定

パラメータ データ型 必須 説明
apiKeyId string true リソースの取得に使用するGitHub のAPIキー のGRN
repositoryName string true リポジトリ名
sourcePath string true ソースコードのファイルパス
referenceType string true コードの取得元
commitHash string true コミットハッシュ
branchName string true ブランチ名
tagName string true タグ名

LogSetting

ロギング通知設定

パラメータ データ型 必須 説明
loggingNamespaceId string false ログの記録に使用する GS2-Log のネームスペース のGRN

Prize

景品

type に action を指定すると景品の排出 type に prize_table を指定すると別の排出テーブルによる抽選を行います。

パラメータ データ型 必須 説明
prizeId string false 景品ID
type string true 景品の種類
acquireActions list[AcquireAction] true 景品の入手アクションリスト
prizeTableName string true 排出確率テーブルの名前
weight integer true 排出重み

AcquireAction

入手アクション

パラメータ データ型 必須 説明
action string true スタンプシートで実行するアクションの種類
request string true 入手リクエストのJSON

DrawnPrize

排出された景品

パラメータ データ型 必須 説明
acquireActions list[AcquireAction] false 入手アクションのリスト

BoxItem

ボックスから取り出したアイテム

パラメータ データ型 必須 説明
acquireActions list[AcquireAction] false 入手アクションのリスト
remaining integer true 残り数量
initial integer true 初期数量

BoxItems

ボックスから取り出したアイテムのリスト

パラメータ データ型 必須 説明
boxId string true ボックス
prizeTableName string true 排出確率テーブル名
userId string false ユーザーID
items list[BoxItem] true ボックスから取り出したアイテムのリスト

Config

設定値

パラメータ データ型 必須 説明
key string false 名前
value string false

初期化処理

HTTPプロトコル クライアントの初期化 同期処理

import gs2_core_client.model.*
import gs2_lottery_client.rest.*

session = Gs2RestSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)
session.connect()
client = Gs2LotteryRestClient(session)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.rest.Gs2RestSession
import io.gs2.lottery.rest.Gs2LotteryRestClient

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)
session.connect()
Gs2LotteryRestClient client = new Gs2LotteryRestClient(session)
初期化処理は不要です

HTTPプロトコル クライアントの初期化 非同期処理

import gs2_core_client.model.*
import gs2_lottery_client.rest.*

session = Gs2RestSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)

def complete(result: AsyncResult[None]):
    client = Gs2LotteryRestClient(session)

session.connect_async(
    complete,
)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.rest.Gs2RestSession
import io.gs2.lottery.rest.Gs2LotteryRestClient

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect_async(
    (result) => {
        Gs2LotteryRestClient client = new Gs2LotteryRestClient(session)
    }
)
初期化処理は不要です

WebSocketプロトコル クライアントの初期化 同期処理

import gs2_core_client.model.*
import gs2_lottery_client.web_socket.*

session = Gs2WebSocketSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)
session.connect()
client = Gs2LotteryWebSocketClient(session)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.webSocket.Gs2WebSocketSession
import io.gs2.lottery.webSocket.Gs2LotteryWebSocketClient

Gs2WebSocketSession session = new Gs2WebSocketSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect()
Gs2LotteryWebSocketClient client = new Gs2LotteryWebSocketClient(session)
初期化処理は不要です

WebSocketプロトコル クライアントの初期化 非同期処理

import gs2_core_client.model.*
import gs2_lottery_client.web_socket.*

session = Gs2WebSocketSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)

def complete(result: AsyncResult[None]):
    client = Gs2LotteryWebSocketClient(session)

session.connect_async(
    complete,
)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.webSocket.Gs2WebSocketSession
import io.gs2.lottery.webSocket.Gs2LotteryWebSocketClient

Gs2WebSocketSession session = new Gs2WebSocketSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect_async(
    (result) => {
        Gs2LotteryWebSocketClient client = new Gs2LotteryWebSocketClient(session)
    }
)
初期化処理は不要です

GS2-Lottery は HTTPプロトコル と WebSocketプロトコル の2種類のプロトコルをサポートしています。

HTTPプロトコル と WebSocketプロトコル の違いは以下に示すとおりです。

HTTP WebSocket
接続方式 都度接続 常時接続
応答性能 優れている
API制限 なし 大容量のデータをやりとりするAPIには使用不可(主にマスターデータ系処理)
利用料金 WebSocketと同一 HTTPと同一

終了処理

HTTPプロトコル クライアントの終了処理

session.disconnect()
session.disconnect();
終了処理は不要です

WebSocketプロトコル クライアントの終了処理

session.disconnect()
session.disconnect();
終了処理は不要です

session オブジェクトの切断処理を行って終了処理を行います。 同一 session オブジェクトを複数の異なる Client オブジェクトに渡すことができます。

メソッド

createLotteryModelMaster

同期処理

from gs2_lottery_client.request import CreateLotteryModelMasterRequest
from gs2_lottery_client.result import CreateLotteryModelMasterResult

result = client.create_lottery_model_master(
    CreateLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_name('lotteryModel-0001')\
        .with_mode('normal')\
        .with_method('prize_table')\
        .with_prize_table_name('prizeTable-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.CreateLotteryModelMasterRequest
import io.gs2.lottery.result.CreateLotteryModelMasterResult

result = client.createLotteryModelMaster(
    CreateLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withName("lotteryModel-0001")
        .withMode("normal")
        .withMethod("prize_table")
        .withPrizeTableName("prizeTable-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import CreateLotteryModelMasterRequest
from gs2_lottery_client.result import CreateLotteryModelMasterResult

def callback(async_result: AsyncResult[CreateLotteryModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_lottery_model_master_async(
    CreateLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_name('lotteryModel-0001')\
        .with_mode('normal')\
        .with_method('prize_table')\
        .with_prize_table_name('prizeTable-0001'),
    callback
)
import io.gs2.lottery.request.CreateLotteryModelMasterRequest
import io.gs2.lottery.result.CreateLotteryModelMasterResult

result = client.createLotteryModelMaster(
    CreateLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withName("lotteryModel-0001")
        .withMode("normal")
        .withMethod("prize_table")
        .withPrizeTableName("prizeTable-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Lottery::LotteryModelMaster
Properties:
  NamespaceName: String
  Name: String
  Description: Optional[String]
  Metadata: Optional[String]
  Mode: String
  Method: String
  PrizeTableName: String
  ChoicePrizeTableScriptId: String

抽選の種類マスターを新規作成

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
name string true 抽選モデルの種類名
description string false 抽選の種類マスターの説明
metadata string false 抽選モデルの種類のメタデータ
mode string true 抽選モード
method string true 抽選方法
prizeTableName string true 景品テーブルの名前
choicePrizeTableScriptId string true 抽選テーブルを確定するスクリプト のGRN
パラメータ データ型 説明
item LotteryModelMaster 作成した抽選の種類マスター

createNamespace

同期処理

from gs2_lottery_client.request import CreateNamespaceRequest
from gs2_lottery_client.result import CreateNamespaceResult

result = client.create_namespace(
    CreateNamespaceRequest()\
        .with_name('namespace-0001')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'}))
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.CreateNamespaceRequest
import io.gs2.lottery.result.CreateNamespaceResult

result = client.createNamespace(
    CreateNamespaceRequest()
        .withName("namespace-0001")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"}))
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import CreateNamespaceRequest
from gs2_lottery_client.result import CreateNamespaceResult

def callback(async_result: AsyncResult[CreateNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_namespace_async(
    CreateNamespaceRequest()\
        .with_name('namespace-0001')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'})),
    callback
)
import io.gs2.lottery.request.CreateNamespaceRequest
import io.gs2.lottery.result.CreateNamespaceResult

result = client.createNamespace(
    CreateNamespaceRequest()
        .withName("namespace-0001")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"})),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Lottery::Namespace
Properties:
  Name: String
  Description: Optional[String]
  QueueNamespaceId: Optional[String]
  KeyId: String
  LotteryTriggerScriptId: Optional[String]
  ChoicePrizeTableScriptId: Optional[String]
  LogSetting:
    LoggingNamespaceId: Optional[String]

ネームスペースを新規作成

パラメータ データ型 必須 説明
name string true ネームスペース名
description string false ネームスペースの説明
queueNamespaceId string false 景品付与処理をジョブとして追加するキューのネームスペース のGRN
keyId string true 景品付与処理のスタンプシートで使用する暗号鍵GRN
lotteryTriggerScriptId string false 抽選処理時 に実行されるスクリプト のGRN
choicePrizeTableScriptId string false 排出テーブル選択時 に実行されるスクリプト のGRN
logSetting LogSetting false ログの出力設定
パラメータ データ型 説明
item Namespace 作成したネームスペース

createPrizeTableMaster

同期処理

from gs2_lottery_client.request import CreatePrizeTableMasterRequest
from gs2_lottery_client.result import CreatePrizeTableMasterResult

result = client.create_prize_table_master(
    CreatePrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_name('prizeTable-0001')\
        .with_prizes([
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-0001'})
], "weight": 1}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-0002'})
], "weight": 2}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-0003'})
], "weight": 3})
])
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.CreatePrizeTableMasterRequest
import io.gs2.lottery.result.CreatePrizeTableMasterResult

result = client.createPrizeTableMaster(
    CreatePrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withName("prizeTable-0001")
        .withPrizes(new [] {
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-0001"})
}, "weight": 1}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-0002"})
}, "weight": 2}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-0003"})
}, "weight": 3})
})
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import CreatePrizeTableMasterRequest
from gs2_lottery_client.result import CreatePrizeTableMasterResult

def callback(async_result: AsyncResult[CreatePrizeTableMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_prize_table_master_async(
    CreatePrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_name('prizeTable-0001')\
        .with_prizes([
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-0001'})
], "weight": 1}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-0002'})
], "weight": 2}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-0003'})
], "weight": 3})
]),
    callback
)
import io.gs2.lottery.request.CreatePrizeTableMasterRequest
import io.gs2.lottery.result.CreatePrizeTableMasterResult

result = client.createPrizeTableMaster(
    CreatePrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withName("prizeTable-0001")
        .withPrizes(new [] {
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-0001"})
}, "weight": 1}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-0002"})
}, "weight": 2}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-0003"})
}, "weight": 3})
}),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Lottery::PrizeTableMaster
Properties:
  NamespaceName: String
  Name: String
  Description: Optional[String]
  Metadata: Optional[String]
  Prizes:
    -
      PrizeId: Optional[String]
      Type: String
      AcquireActions:
        - AcquireAction
        - AcquireAction
      PrizeTableName: String
      Weight: Integer
    -
      PrizeId: Optional[String]
      Type: String
      AcquireActions:
        - AcquireAction
        - AcquireAction
      PrizeTableName: String
      Weight: Integer

排出確率テーブルマスターを新規作成

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
name string true 排出確率テーブル名
description string false 排出確率テーブルマスターの説明
metadata string false 排出確率テーブルのメタデータ
prizes list[Prize] true 景品リスト
パラメータ データ型 説明
item PrizeTableMaster 作成した排出確率テーブルマスター

deleteLotteryModelMaster

同期処理

from gs2_lottery_client.request import DeleteLotteryModelMasterRequest
from gs2_lottery_client.result import DeleteLotteryModelMasterResult

result = client.delete_lottery_model_master(
    DeleteLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DeleteLotteryModelMasterRequest
import io.gs2.lottery.result.DeleteLotteryModelMasterResult

result = client.deleteLotteryModelMaster(
    DeleteLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DeleteLotteryModelMasterRequest
from gs2_lottery_client.result import DeleteLotteryModelMasterResult

def callback(async_result: AsyncResult[DeleteLotteryModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_lottery_model_master_async(
    DeleteLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001'),
    callback
)
import io.gs2.lottery.request.DeleteLotteryModelMasterRequest
import io.gs2.lottery.result.DeleteLotteryModelMasterResult

result = client.deleteLotteryModelMaster(
    DeleteLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

抽選の種類マスターを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
パラメータ データ型 説明
item LotteryModelMaster 削除した抽選の種類マスター

deleteNamespace

同期処理

from gs2_lottery_client.request import DeleteNamespaceRequest
from gs2_lottery_client.result import DeleteNamespaceResult

result = client.delete_namespace(
    DeleteNamespaceRequest()\
        .with_namespace_name('namespace-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DeleteNamespaceRequest
import io.gs2.lottery.result.DeleteNamespaceResult

result = client.deleteNamespace(
    DeleteNamespaceRequest()
        .withNamespaceName("namespace-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DeleteNamespaceRequest
from gs2_lottery_client.result import DeleteNamespaceResult

def callback(async_result: AsyncResult[DeleteNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_namespace_async(
    DeleteNamespaceRequest()\
        .with_namespace_name('namespace-0001'),
    callback
)
import io.gs2.lottery.request.DeleteNamespaceRequest
import io.gs2.lottery.result.DeleteNamespaceResult

result = client.deleteNamespace(
    DeleteNamespaceRequest()
        .withNamespaceName("namespace-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item Namespace 削除したネームスペース

deletePrizeTableMaster

同期処理

from gs2_lottery_client.request import DeletePrizeTableMasterRequest
from gs2_lottery_client.result import DeletePrizeTableMasterResult

result = client.delete_prize_table_master(
    DeletePrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_prize_table_name('prizeTable-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DeletePrizeTableMasterRequest
import io.gs2.lottery.result.DeletePrizeTableMasterResult

result = client.deletePrizeTableMaster(
    DeletePrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withPrizeTableName("prizeTable-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DeletePrizeTableMasterRequest
from gs2_lottery_client.result import DeletePrizeTableMasterResult

def callback(async_result: AsyncResult[DeletePrizeTableMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_prize_table_master_async(
    DeletePrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_prize_table_name('prizeTable-0001'),
    callback
)
import io.gs2.lottery.request.DeletePrizeTableMasterRequest
import io.gs2.lottery.result.DeletePrizeTableMasterResult

result = client.deletePrizeTableMaster(
    DeletePrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withPrizeTableName("prizeTable-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率テーブルマスターを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
prizeTableName string true 排出確率テーブル名
パラメータ データ型 説明
item PrizeTableMaster 削除した排出確率テーブルマスター

describeBoxes

同期処理

from gs2_lottery_client.request import DescribeBoxesRequest
from gs2_lottery_client.result import DescribeBoxesResult

result = client.describe_boxes(
    DescribeBoxesRequest()\
        .with_namespace_name('namespace-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribeBoxesRequest
import io.gs2.lottery.result.DescribeBoxesResult

result = client.describeBoxes(
    DescribeBoxesRequest()
        .withNamespaceName("namespace-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribeBoxesRequest
from gs2_lottery_client.result import DescribeBoxesResult

def callback(async_result: AsyncResult[DescribeBoxesResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_boxes_async(
    DescribeBoxesRequest()\
        .with_namespace_name('namespace-0001'),
    callback
)
import io.gs2.lottery.request.DescribeBoxesRequest
import io.gs2.lottery.result.DescribeBoxesResult

result = client.describeBoxes(
    DescribeBoxesRequest()
        .withNamespaceName("namespace-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ボックスの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Box] ボックスのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeBoxesByUserId

同期処理

from gs2_lottery_client.request import DescribeBoxesByUserIdRequest
from gs2_lottery_client.result import DescribeBoxesByUserIdResult

result = client.describe_boxes_by_user_id(
    DescribeBoxesByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribeBoxesByUserIdRequest
import io.gs2.lottery.result.DescribeBoxesByUserIdResult

result = client.describeBoxesByUserId(
    DescribeBoxesByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribeBoxesByUserIdRequest
from gs2_lottery_client.result import DescribeBoxesByUserIdResult

def callback(async_result: AsyncResult[DescribeBoxesByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_boxes_by_user_id_async(
    DescribeBoxesByUserIdRequest()\
    callback
)
import io.gs2.lottery.request.DescribeBoxesByUserIdRequest
import io.gs2.lottery.result.DescribeBoxesByUserIdResult

result = client.describeBoxesByUserId(
    DescribeBoxesByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定してボックスの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
userId string false ユーザーID
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Box] ボックスのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeLotteryModelMasters

同期処理

from gs2_lottery_client.request import DescribeLotteryModelMastersRequest
from gs2_lottery_client.result import DescribeLotteryModelMastersResult

result = client.describe_lottery_model_masters(
    DescribeLotteryModelMastersRequest()\
        .with_namespace_name('namespace-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribeLotteryModelMastersRequest
import io.gs2.lottery.result.DescribeLotteryModelMastersResult

result = client.describeLotteryModelMasters(
    DescribeLotteryModelMastersRequest()
        .withNamespaceName("namespace-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribeLotteryModelMastersRequest
from gs2_lottery_client.result import DescribeLotteryModelMastersResult

def callback(async_result: AsyncResult[DescribeLotteryModelMastersResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_lottery_model_masters_async(
    DescribeLotteryModelMastersRequest()\
        .with_namespace_name('namespace-0001'),
    callback
)
import io.gs2.lottery.request.DescribeLotteryModelMastersRequest
import io.gs2.lottery.result.DescribeLotteryModelMastersResult

result = client.describeLotteryModelMasters(
    DescribeLotteryModelMastersRequest()
        .withNamespaceName("namespace-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

抽選の種類マスターの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[LotteryModelMaster] 抽選の種類マスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeLotteryModels

同期処理

from gs2_lottery_client.request import DescribeLotteryModelsRequest
from gs2_lottery_client.result import DescribeLotteryModelsResult

result = client.describe_lottery_models(
    DescribeLotteryModelsRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribeLotteryModelsRequest
import io.gs2.lottery.result.DescribeLotteryModelsResult

result = client.describeLotteryModels(
    DescribeLotteryModelsRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribeLotteryModelsRequest
from gs2_lottery_client.result import DescribeLotteryModelsResult

def callback(async_result: AsyncResult[DescribeLotteryModelsResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_lottery_models_async(
    DescribeLotteryModelsRequest()\
    callback
)
import io.gs2.lottery.request.DescribeLotteryModelsRequest
import io.gs2.lottery.result.DescribeLotteryModelsResult

result = client.describeLotteryModels(
    DescribeLotteryModelsRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

抽選の種類の一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
items list[LotteryModel] 抽選の種類のリスト

describeNamespaces

同期処理

from gs2_lottery_client.request import DescribeNamespacesRequest
from gs2_lottery_client.result import DescribeNamespacesResult

result = client.describe_namespaces(
    DescribeNamespacesRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribeNamespacesRequest
import io.gs2.lottery.result.DescribeNamespacesResult

result = client.describeNamespaces(
    DescribeNamespacesRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribeNamespacesRequest
from gs2_lottery_client.result import DescribeNamespacesResult

def callback(async_result: AsyncResult[DescribeNamespacesResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_namespaces_async(
    DescribeNamespacesRequest()\
    callback
)
import io.gs2.lottery.request.DescribeNamespacesRequest
import io.gs2.lottery.result.DescribeNamespacesResult

result = client.describeNamespaces(
    DescribeNamespacesRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースの一覧を取得

パラメータ データ型 必須 説明
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Namespace] ネームスペースのリスト
nextPageToken string リストの続きを取得するためのページトークン

describePrizeTableMasters

同期処理

from gs2_lottery_client.request import DescribePrizeTableMastersRequest
from gs2_lottery_client.result import DescribePrizeTableMastersResult

result = client.describe_prize_table_masters(
    DescribePrizeTableMastersRequest()\
        .with_namespace_name('namespace-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribePrizeTableMastersRequest
import io.gs2.lottery.result.DescribePrizeTableMastersResult

result = client.describePrizeTableMasters(
    DescribePrizeTableMastersRequest()
        .withNamespaceName("namespace-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribePrizeTableMastersRequest
from gs2_lottery_client.result import DescribePrizeTableMastersResult

def callback(async_result: AsyncResult[DescribePrizeTableMastersResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_prize_table_masters_async(
    DescribePrizeTableMastersRequest()\
        .with_namespace_name('namespace-0001'),
    callback
)
import io.gs2.lottery.request.DescribePrizeTableMastersRequest
import io.gs2.lottery.result.DescribePrizeTableMastersResult

result = client.describePrizeTableMasters(
    DescribePrizeTableMastersRequest()
        .withNamespaceName("namespace-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率テーブルマスターの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[PrizeTableMaster] 排出確率テーブルマスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

describePrizeTables

同期処理

from gs2_lottery_client.request import DescribePrizeTablesRequest
from gs2_lottery_client.result import DescribePrizeTablesResult

result = client.describe_prize_tables(
    DescribePrizeTablesRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribePrizeTablesRequest
import io.gs2.lottery.result.DescribePrizeTablesResult

result = client.describePrizeTables(
    DescribePrizeTablesRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribePrizeTablesRequest
from gs2_lottery_client.result import DescribePrizeTablesResult

def callback(async_result: AsyncResult[DescribePrizeTablesResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_prize_tables_async(
    DescribePrizeTablesRequest()\
    callback
)
import io.gs2.lottery.request.DescribePrizeTablesRequest
import io.gs2.lottery.result.DescribePrizeTablesResult

result = client.describePrizeTables(
    DescribePrizeTablesRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率テーブルの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
items list[PrizeTable] 排出確率テーブルのリスト

describeProbabilities

同期処理

from gs2_lottery_client.request import DescribeProbabilitiesRequest
from gs2_lottery_client.result import DescribeProbabilitiesResult

result = client.describe_probabilities(
    DescribeProbabilitiesRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribeProbabilitiesRequest
import io.gs2.lottery.result.DescribeProbabilitiesResult

result = client.describeProbabilities(
    DescribeProbabilitiesRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribeProbabilitiesRequest
from gs2_lottery_client.result import DescribeProbabilitiesResult

def callback(async_result: AsyncResult[DescribeProbabilitiesResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_probabilities_async(
    DescribeProbabilitiesRequest()\
    callback
)
import io.gs2.lottery.request.DescribeProbabilitiesRequest
import io.gs2.lottery.result.DescribeProbabilitiesResult

result = client.describeProbabilities(
    DescribeProbabilitiesRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率を取得

通常抽選ではすべてのゲームプレイヤーに対して同じ確率を応答します。 ボックス抽選ではボックスの中身の残りを考慮したゲームプレイヤーごとに異なる確率を応答します。

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
パラメータ データ型 説明
items list[Probability] 景品の当選確率リスト

describeProbabilitiesByUserId

同期処理

from gs2_lottery_client.request import DescribeProbabilitiesByUserIdRequest
from gs2_lottery_client.result import DescribeProbabilitiesByUserIdResult

result = client.describe_probabilities_by_user_id(
    DescribeProbabilitiesByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DescribeProbabilitiesByUserIdRequest
import io.gs2.lottery.result.DescribeProbabilitiesByUserIdResult

result = client.describeProbabilitiesByUserId(
    DescribeProbabilitiesByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DescribeProbabilitiesByUserIdRequest
from gs2_lottery_client.result import DescribeProbabilitiesByUserIdResult

def callback(async_result: AsyncResult[DescribeProbabilitiesByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_probabilities_by_user_id_async(
    DescribeProbabilitiesByUserIdRequest()\
    callback
)
import io.gs2.lottery.request.DescribeProbabilitiesByUserIdRequest
import io.gs2.lottery.result.DescribeProbabilitiesByUserIdResult

result = client.describeProbabilitiesByUserId(
    DescribeProbabilitiesByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率を取得

通常抽選ではすべてのゲームプレイヤーに対して同じ確率を応答します。 ボックス抽選ではボックスの中身の残りを考慮したゲームプレイヤーごとに異なる確率を応答します。

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
userId string true ユーザーID
パラメータ データ型 説明
items list[Probability] 景品の当選確率リスト

drawByStampSheet

同期処理

from gs2_lottery_client.request import DrawByStampSheetRequest
from gs2_lottery_client.result import DrawByStampSheetResult

result = client.draw_by_stamp_sheet(
    DrawByStampSheetRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DrawByStampSheetRequest
import io.gs2.lottery.result.DrawByStampSheetResult

result = client.drawByStampSheet(
    DrawByStampSheetRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DrawByStampSheetRequest
from gs2_lottery_client.result import DrawByStampSheetResult

def callback(async_result: AsyncResult[DrawByStampSheetResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.draw_by_stamp_sheet_async(
    DrawByStampSheetRequest()\
    callback
)
import io.gs2.lottery.request.DrawByStampSheetRequest
import io.gs2.lottery.result.DrawByStampSheetResult

result = client.drawByStampSheet(
    DrawByStampSheetRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

スタンプシートを使用して抽選処理を実行

パラメータ データ型 必須 説明
stampSheet string true スタンプシート
keyId string true スタンプシートの署名検証に使用する 暗号鍵 のGRN
パラメータ データ型 説明
items list[DrawnPrize] 抽選結果の景品リスト
stampSheet string 排出された景品を入手するスタンプシート
boxItems BoxItems ボックスから取り出したアイテムのリスト

drawByUserId

同期処理

from gs2_lottery_client.request import DrawByUserIdRequest
from gs2_lottery_client.result import DrawByUserIdResult

result = client.draw_by_user_id(
    DrawByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.DrawByUserIdRequest
import io.gs2.lottery.result.DrawByUserIdResult

result = client.drawByUserId(
    DrawByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import DrawByUserIdRequest
from gs2_lottery_client.result import DrawByUserIdResult

def callback(async_result: AsyncResult[DrawByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.draw_by_user_id_async(
    DrawByUserIdRequest()\
    callback
)
import io.gs2.lottery.request.DrawByUserIdRequest
import io.gs2.lottery.result.DrawByUserIdResult

result = client.drawByUserId(
    DrawByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定して抽選を実行

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
userId string true ユーザーID
count integer false 抽選回数
config list[Config] false スタンプシートのプレースホルダの適用する設定値
パラメータ データ型 説明
items list[DrawnPrize] 抽選結果の景品リスト
stampSheet string 排出された景品を入手するスタンプシート
boxItems BoxItems ボックスから取り出したアイテムのリスト

exportMaster

同期処理

from gs2_lottery_client.request import ExportMasterRequest
from gs2_lottery_client.result import ExportMasterResult

result = client.export_master(
    ExportMasterRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.ExportMasterRequest
import io.gs2.lottery.result.ExportMasterResult

result = client.exportMaster(
    ExportMasterRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import ExportMasterRequest
from gs2_lottery_client.result import ExportMasterResult

def callback(async_result: AsyncResult[ExportMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.export_master_async(
    ExportMasterRequest()\
    callback
)
import io.gs2.lottery.request.ExportMasterRequest
import io.gs2.lottery.result.ExportMasterResult

result = client.exportMaster(
    ExportMasterRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

現在有効な抽選設定のマスターデータをエクスポートします

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item CurrentLotteryMaster 現在有効な抽選設定

getBox

同期処理

from gs2_lottery_client.request import GetBoxRequest
from gs2_lottery_client.result import GetBoxResult

result = client.get_box(
    GetBoxRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetBoxRequest
import io.gs2.lottery.result.GetBoxResult

result = client.getBox(
    GetBoxRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetBoxRequest
from gs2_lottery_client.result import GetBoxResult

def callback(async_result: AsyncResult[GetBoxResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_box_async(
    GetBoxRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001'),
    callback
)
import io.gs2.lottery.request.GetBoxRequest
import io.gs2.lottery.result.GetBoxResult

result = client.getBox(
    GetBoxRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ボックスを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
パラメータ データ型 説明
item BoxItems ボックスから取り出したアイテムのリスト

getBoxByUserId

同期処理

from gs2_lottery_client.request import GetBoxByUserIdRequest
from gs2_lottery_client.result import GetBoxByUserIdResult

result = client.get_box_by_user_id(
    GetBoxByUserIdRequest()\
        .with_namespace_name('namespace-0002')\
        .with_lottery_name('lotteryModel-0003')\
        .with_user_id('user-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetBoxByUserIdRequest
import io.gs2.lottery.result.GetBoxByUserIdResult

result = client.getBoxByUserId(
    GetBoxByUserIdRequest()
        .withNamespaceName("namespace-0002")
        .withLotteryName("lotteryModel-0003")
        .withUserId("user-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetBoxByUserIdRequest
from gs2_lottery_client.result import GetBoxByUserIdResult

def callback(async_result: AsyncResult[GetBoxByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_box_by_user_id_async(
    GetBoxByUserIdRequest()\
        .with_namespace_name('namespace-0002')\
        .with_lottery_name('lotteryModel-0003')\
        .with_user_id('user-0001'),
    callback
)
import io.gs2.lottery.request.GetBoxByUserIdRequest
import io.gs2.lottery.result.GetBoxByUserIdResult

result = client.getBoxByUserId(
    GetBoxByUserIdRequest()
        .withNamespaceName("namespace-0002")
        .withLotteryName("lotteryModel-0003")
        .withUserId("user-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定してボックスを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
userId string false ユーザーID
パラメータ データ型 説明
item BoxItems ボックスから取り出したアイテムのリスト

getCurrentLotteryMaster

同期処理

from gs2_lottery_client.request import GetCurrentLotteryMasterRequest
from gs2_lottery_client.result import GetCurrentLotteryMasterResult

result = client.get_current_lottery_master(
    GetCurrentLotteryMasterRequest()\
        .with_namespace_name('namespace-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetCurrentLotteryMasterRequest
import io.gs2.lottery.result.GetCurrentLotteryMasterResult

result = client.getCurrentLotteryMaster(
    GetCurrentLotteryMasterRequest()
        .withNamespaceName("namespace-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetCurrentLotteryMasterRequest
from gs2_lottery_client.result import GetCurrentLotteryMasterResult

def callback(async_result: AsyncResult[GetCurrentLotteryMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_current_lottery_master_async(
    GetCurrentLotteryMasterRequest()\
        .with_namespace_name('namespace-0001'),
    callback
)
import io.gs2.lottery.request.GetCurrentLotteryMasterRequest
import io.gs2.lottery.result.GetCurrentLotteryMasterResult

result = client.getCurrentLotteryMaster(
    GetCurrentLotteryMasterRequest()
        .withNamespaceName("namespace-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

現在有効な抽選設定を取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item CurrentLotteryMaster 現在有効な抽選設定

getLotteryModel

同期処理

from gs2_lottery_client.request import GetLotteryModelRequest
from gs2_lottery_client.result import GetLotteryModelResult

result = client.get_lottery_model(
    GetLotteryModelRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetLotteryModelRequest
import io.gs2.lottery.result.GetLotteryModelResult

result = client.getLotteryModel(
    GetLotteryModelRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetLotteryModelRequest
from gs2_lottery_client.result import GetLotteryModelResult

def callback(async_result: AsyncResult[GetLotteryModelResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_lottery_model_async(
    GetLotteryModelRequest()\
    callback
)
import io.gs2.lottery.request.GetLotteryModelRequest
import io.gs2.lottery.result.GetLotteryModelResult

result = client.getLotteryModel(
    GetLotteryModelRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

抽選の種類を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
パラメータ データ型 説明
item LotteryModel 抽選の種類

getLotteryModelMaster

同期処理

from gs2_lottery_client.request import GetLotteryModelMasterRequest
from gs2_lottery_client.result import GetLotteryModelMasterResult

result = client.get_lottery_model_master(
    GetLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetLotteryModelMasterRequest
import io.gs2.lottery.result.GetLotteryModelMasterResult

result = client.getLotteryModelMaster(
    GetLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetLotteryModelMasterRequest
from gs2_lottery_client.result import GetLotteryModelMasterResult

def callback(async_result: AsyncResult[GetLotteryModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_lottery_model_master_async(
    GetLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001'),
    callback
)
import io.gs2.lottery.request.GetLotteryModelMasterRequest
import io.gs2.lottery.result.GetLotteryModelMasterResult

result = client.getLotteryModelMaster(
    GetLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

抽選の種類マスターを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
パラメータ データ型 説明
item LotteryModelMaster 抽選の種類マスター

getNamespace

同期処理

from gs2_lottery_client.request import GetNamespaceRequest
from gs2_lottery_client.result import GetNamespaceResult

result = client.get_namespace(
    GetNamespaceRequest()\
        .with_namespace_name('namespace-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetNamespaceRequest
import io.gs2.lottery.result.GetNamespaceResult

result = client.getNamespace(
    GetNamespaceRequest()
        .withNamespaceName("namespace-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetNamespaceRequest
from gs2_lottery_client.result import GetNamespaceResult

def callback(async_result: AsyncResult[GetNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_namespace_async(
    GetNamespaceRequest()\
        .with_namespace_name('namespace-0001'),
    callback
)
import io.gs2.lottery.request.GetNamespaceRequest
import io.gs2.lottery.result.GetNamespaceResult

result = client.getNamespace(
    GetNamespaceRequest()
        .withNamespaceName("namespace-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item Namespace ネームスペース

getNamespaceStatus

同期処理

from gs2_lottery_client.request import GetNamespaceStatusRequest
from gs2_lottery_client.result import GetNamespaceStatusResult

result = client.get_namespace_status(
    GetNamespaceStatusRequest()\
        .with_namespace_name('namespace-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetNamespaceStatusRequest
import io.gs2.lottery.result.GetNamespaceStatusResult

result = client.getNamespaceStatus(
    GetNamespaceStatusRequest()
        .withNamespaceName("namespace-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetNamespaceStatusRequest
from gs2_lottery_client.result import GetNamespaceStatusResult

def callback(async_result: AsyncResult[GetNamespaceStatusResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_namespace_status_async(
    GetNamespaceStatusRequest()\
        .with_namespace_name('namespace-0001'),
    callback
)
import io.gs2.lottery.request.GetNamespaceStatusRequest
import io.gs2.lottery.result.GetNamespaceStatusResult

result = client.getNamespaceStatus(
    GetNamespaceStatusRequest()
        .withNamespaceName("namespace-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースの状態を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
status string

getPrizeTable

同期処理

from gs2_lottery_client.request import GetPrizeTableRequest
from gs2_lottery_client.result import GetPrizeTableResult

result = client.get_prize_table(
    GetPrizeTableRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetPrizeTableRequest
import io.gs2.lottery.result.GetPrizeTableResult

result = client.getPrizeTable(
    GetPrizeTableRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetPrizeTableRequest
from gs2_lottery_client.result import GetPrizeTableResult

def callback(async_result: AsyncResult[GetPrizeTableResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_prize_table_async(
    GetPrizeTableRequest()\
    callback
)
import io.gs2.lottery.request.GetPrizeTableRequest
import io.gs2.lottery.result.GetPrizeTableResult

result = client.getPrizeTable(
    GetPrizeTableRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率テーブルを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
prizeTableName string true 排出確率テーブル名
パラメータ データ型 説明
item PrizeTable 排出確率テーブル

getPrizeTableMaster

同期処理

from gs2_lottery_client.request import GetPrizeTableMasterRequest
from gs2_lottery_client.result import GetPrizeTableMasterResult

result = client.get_prize_table_master(
    GetPrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_prize_table_name('prizeTable-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.GetPrizeTableMasterRequest
import io.gs2.lottery.result.GetPrizeTableMasterResult

result = client.getPrizeTableMaster(
    GetPrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withPrizeTableName("prizeTable-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import GetPrizeTableMasterRequest
from gs2_lottery_client.result import GetPrizeTableMasterResult

def callback(async_result: AsyncResult[GetPrizeTableMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_prize_table_master_async(
    GetPrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_prize_table_name('prizeTable-0001'),
    callback
)
import io.gs2.lottery.request.GetPrizeTableMasterRequest
import io.gs2.lottery.result.GetPrizeTableMasterResult

result = client.getPrizeTableMaster(
    GetPrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withPrizeTableName("prizeTable-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率テーブルマスターを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
prizeTableName string true 排出確率テーブル名
パラメータ データ型 説明
item PrizeTableMaster 排出確率テーブルマスター

resetBox

同期処理

from gs2_lottery_client.request import ResetBoxRequest
from gs2_lottery_client.result import ResetBoxResult

result = client.reset_box(
    ResetBoxRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.ResetBoxRequest
import io.gs2.lottery.result.ResetBoxResult

result = client.resetBox(
    ResetBoxRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import ResetBoxRequest
from gs2_lottery_client.result import ResetBoxResult

def callback(async_result: AsyncResult[ResetBoxResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.reset_box_async(
    ResetBoxRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001'),
    callback
)
import io.gs2.lottery.request.ResetBoxRequest
import io.gs2.lottery.result.ResetBoxResult

result = client.resetBox(
    ResetBoxRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ボックスをリセット

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
パラメータ データ型 説明

resetBoxByUserId

同期処理

from gs2_lottery_client.request import ResetBoxByUserIdRequest
from gs2_lottery_client.result import ResetBoxByUserIdResult

result = client.reset_box_by_user_id(
    ResetBoxByUserIdRequest()\
        .with_namespace_name('namespace-0002')\
        .with_lottery_name('lotteryModel-0003')\
        .with_user_id('user-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.ResetBoxByUserIdRequest
import io.gs2.lottery.result.ResetBoxByUserIdResult

result = client.resetBoxByUserId(
    ResetBoxByUserIdRequest()
        .withNamespaceName("namespace-0002")
        .withLotteryName("lotteryModel-0003")
        .withUserId("user-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import ResetBoxByUserIdRequest
from gs2_lottery_client.result import ResetBoxByUserIdResult

def callback(async_result: AsyncResult[ResetBoxByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.reset_box_by_user_id_async(
    ResetBoxByUserIdRequest()\
        .with_namespace_name('namespace-0002')\
        .with_lottery_name('lotteryModel-0003')\
        .with_user_id('user-0001'),
    callback
)
import io.gs2.lottery.request.ResetBoxByUserIdRequest
import io.gs2.lottery.result.ResetBoxByUserIdResult

result = client.resetBoxByUserId(
    ResetBoxByUserIdRequest()
        .withNamespaceName("namespace-0002")
        .withLotteryName("lotteryModel-0003")
        .withUserId("user-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定してボックスをリセット

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
userId string false ユーザーID
パラメータ データ型 説明

updateCurrentLotteryMaster

同期処理

from gs2_lottery_client.request import UpdateCurrentLotteryMasterRequest
from gs2_lottery_client.result import UpdateCurrentLotteryMasterResult

result = client.update_current_lottery_master(
    UpdateCurrentLotteryMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_settings('{\n  "version": "2019-02-21",\n  "lotteryModels": [\n    {\n      "name": "gacha",\n      "metadata": "GACHA",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha"\n    },\n    {\n      "name": "gacha_ssr",\n      "metadata": "SSR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-ssr"\n    },\n    {\n      "name": "gacha_sr",\n      "metadata": "SR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-sr"\n    },\n    {\n      "name": "gacha_r",\n      "metadata": "R",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-r"\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "mode": "box",\n      "method": "prize_table",\n      "prizeTableName": "box"\n    }\n  ],\n  "prizeTables": [\n    {\n      "name": "gacha",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-r",\n          "weight": 80\n        }\n      ]\n    },\n    {\n      "name": "gacha-ssr",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 3\n        }\n      ]\n    },\n    {\n      "name": "gacha-sr",\n      "metadata": "SR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        }\n      ]\n    },\n    {\n      "name": "gacha-r",\n      "metadata": "R",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 100\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 200\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 300\n        }\n      ]\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        }\n      ]\n    }\n  ]\n}')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.UpdateCurrentLotteryMasterRequest
import io.gs2.lottery.result.UpdateCurrentLotteryMasterResult

result = client.updateCurrentLotteryMaster(
    UpdateCurrentLotteryMasterRequest()
        .withNamespaceName("namespace-0001")
        .withSettings("{\n  "version": "2019-02-21",\n  "lotteryModels": [\n    {\n      "name": "gacha",\n      "metadata": "GACHA",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha"\n    },\n    {\n      "name": "gacha_ssr",\n      "metadata": "SSR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-ssr"\n    },\n    {\n      "name": "gacha_sr",\n      "metadata": "SR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-sr"\n    },\n    {\n      "name": "gacha_r",\n      "metadata": "R",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-r"\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "mode": "box",\n      "method": "prize_table",\n      "prizeTableName": "box"\n    }\n  ],\n  "prizeTables": [\n    {\n      "name": "gacha",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-r",\n          "weight": 80\n        }\n      ]\n    },\n    {\n      "name": "gacha-ssr",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 3\n        }\n      ]\n    },\n    {\n      "name": "gacha-sr",\n      "metadata": "SR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        }\n      ]\n    },\n    {\n      "name": "gacha-r",\n      "metadata": "R",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 100\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 200\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 300\n        }\n      ]\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        }\n      ]\n    }\n  ]\n}")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import UpdateCurrentLotteryMasterRequest
from gs2_lottery_client.result import UpdateCurrentLotteryMasterResult

def callback(async_result: AsyncResult[UpdateCurrentLotteryMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_current_lottery_master_async(
    UpdateCurrentLotteryMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_settings('{\n  "version": "2019-02-21",\n  "lotteryModels": [\n    {\n      "name": "gacha",\n      "metadata": "GACHA",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha"\n    },\n    {\n      "name": "gacha_ssr",\n      "metadata": "SSR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-ssr"\n    },\n    {\n      "name": "gacha_sr",\n      "metadata": "SR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-sr"\n    },\n    {\n      "name": "gacha_r",\n      "metadata": "R",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-r"\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "mode": "box",\n      "method": "prize_table",\n      "prizeTableName": "box"\n    }\n  ],\n  "prizeTables": [\n    {\n      "name": "gacha",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-r",\n          "weight": 80\n        }\n      ]\n    },\n    {\n      "name": "gacha-ssr",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 3\n        }\n      ]\n    },\n    {\n      "name": "gacha-sr",\n      "metadata": "SR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        }\n      ]\n    },\n    {\n      "name": "gacha-r",\n      "metadata": "R",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 100\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 200\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 300\n        }\n      ]\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        }\n      ]\n    }\n  ]\n}'),
    callback
)
import io.gs2.lottery.request.UpdateCurrentLotteryMasterRequest
import io.gs2.lottery.result.UpdateCurrentLotteryMasterResult

result = client.updateCurrentLotteryMaster(
    UpdateCurrentLotteryMasterRequest()
        .withNamespaceName("namespace-0001")
        .withSettings("{\n  "version": "2019-02-21",\n  "lotteryModels": [\n    {\n      "name": "gacha",\n      "metadata": "GACHA",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha"\n    },\n    {\n      "name": "gacha_ssr",\n      "metadata": "SSR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-ssr"\n    },\n    {\n      "name": "gacha_sr",\n      "metadata": "SR",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-sr"\n    },\n    {\n      "name": "gacha_r",\n      "metadata": "R",\n      "mode": "normal",\n      "method": "prize_table",\n      "prizeTableName": "gacha-r"\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "mode": "box",\n      "method": "prize_table",\n      "prizeTableName": "box"\n    }\n  ],\n  "prizeTables": [\n    {\n      "name": "gacha",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-ssr",\n          "weight": 5\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-sr",\n          "weight": 15\n        },\n        {\n          "type": "prize_table",\n          "prizeTableName": "gacha-r",\n          "weight": 80\n        }\n      ]\n    },\n    {\n      "name": "gacha-ssr",\n      "metadata": "SSR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 1\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 2\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 3\n        }\n      ]\n    },\n    {\n      "name": "gacha-sr",\n      "metadata": "SR",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        }\n      ]\n    },\n    {\n      "name": "gacha-r",\n      "metadata": "R",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 100\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 200\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 300\n        }\n      ]\n    },\n    {\n      "name": "box",\n      "metadata": "BOX",\n      "prizes": [\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 30\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 20\n        },\n        {\n          "type": "action",\n          "acquireActions": [\n            {\n              "action": "Gs2Money:DepositByUserId",\n              "request": "{\\\"count\\\": 1}"\n            }\n          ],\n          "weight": 10\n        }\n      ]\n    }\n  ]\n}"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Lottery::CurrentLotteryMaster
Properties:
  NamespaceName: String
  Settings: String

現在有効な抽選設定を更新します

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
settings string true マスターデータ
パラメータ データ型 説明
item CurrentLotteryMaster 更新した現在有効な抽選設定

updateCurrentLotteryMasterFromGitHub

同期処理

from gs2_lottery_client.request import UpdateCurrentLotteryMasterFromGitHubRequest
from gs2_lottery_client.result import UpdateCurrentLotteryMasterFromGitHubResult

result = client.update_current_lottery_master_from_git_hub(
    UpdateCurrentLotteryMasterFromGitHubRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.UpdateCurrentLotteryMasterFromGitHubRequest
import io.gs2.lottery.result.UpdateCurrentLotteryMasterFromGitHubResult

result = client.updateCurrentLotteryMasterFromGitHub(
    UpdateCurrentLotteryMasterFromGitHubRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import UpdateCurrentLotteryMasterFromGitHubRequest
from gs2_lottery_client.result import UpdateCurrentLotteryMasterFromGitHubResult

def callback(async_result: AsyncResult[UpdateCurrentLotteryMasterFromGitHubResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_current_lottery_master_from_git_hub_async(
    UpdateCurrentLotteryMasterFromGitHubRequest()\
    callback
)
import io.gs2.lottery.request.UpdateCurrentLotteryMasterFromGitHubRequest
import io.gs2.lottery.result.UpdateCurrentLotteryMasterFromGitHubResult

result = client.updateCurrentLotteryMasterFromGitHub(
    UpdateCurrentLotteryMasterFromGitHubRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

現在有効な抽選設定を更新します

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
checkoutSetting GitHubCheckoutSetting true GitHubからマスターデータをチェックアウトしてくる設定
パラメータ データ型 説明
item CurrentLotteryMaster 更新した現在有効な抽選設定

updateLotteryModelMaster

同期処理

from gs2_lottery_client.request import UpdateLotteryModelMasterRequest
from gs2_lottery_client.result import UpdateLotteryModelMasterResult

result = client.update_lottery_model_master(
    UpdateLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001')\
        .with_description('description1')\
        .with_metadata('METADATA1')\
        .with_mode('box')\
        .with_method('prize_table')\
        .with_prize_table_name('prizeTable-0002')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.UpdateLotteryModelMasterRequest
import io.gs2.lottery.result.UpdateLotteryModelMasterResult

result = client.updateLotteryModelMaster(
    UpdateLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001")
        .withDescription("description1")
        .withMetadata("METADATA1")
        .withMode("box")
        .withMethod("prize_table")
        .withPrizeTableName("prizeTable-0002")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import UpdateLotteryModelMasterRequest
from gs2_lottery_client.result import UpdateLotteryModelMasterResult

def callback(async_result: AsyncResult[UpdateLotteryModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_lottery_model_master_async(
    UpdateLotteryModelMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_lottery_name('lotteryModel-0001')\
        .with_description('description1')\
        .with_metadata('METADATA1')\
        .with_mode('box')\
        .with_method('prize_table')\
        .with_prize_table_name('prizeTable-0002'),
    callback
)
import io.gs2.lottery.request.UpdateLotteryModelMasterRequest
import io.gs2.lottery.result.UpdateLotteryModelMasterResult

result = client.updateLotteryModelMaster(
    UpdateLotteryModelMasterRequest()
        .withNamespaceName("namespace-0001")
        .withLotteryName("lotteryModel-0001")
        .withDescription("description1")
        .withMetadata("METADATA1")
        .withMode("box")
        .withMethod("prize_table")
        .withPrizeTableName("prizeTable-0002"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

抽選の種類マスターを更新

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
lotteryName string true 抽選モデルの種類名
description string false 抽選の種類マスターの説明
metadata string false 抽選モデルの種類のメタデータ
mode string true 抽選モード
method string true 抽選方法
prizeTableName string true 景品テーブルの名前
choicePrizeTableScriptId string true 抽選テーブルを確定するスクリプト のGRN
パラメータ データ型 説明
item LotteryModelMaster 更新した抽選の種類マスター

updateNamespace

同期処理

from gs2_lottery_client.request import UpdateNamespaceRequest
from gs2_lottery_client.result import UpdateNamespaceResult

result = client.update_namespace(
    UpdateNamespaceRequest()\
        .with_namespace_name('namespace-0001')\
        .with_description('description1')\
        .with_queue_namespace_id('grn:gs2:{region}:{ownerId}:queue:queue-0002')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0002')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'}))
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.UpdateNamespaceRequest
import io.gs2.lottery.result.UpdateNamespaceResult

result = client.updateNamespace(
    UpdateNamespaceRequest()
        .withNamespaceName("namespace-0001")
        .withDescription("description1")
        .withQueueNamespaceId("grn:gs2:{region}:{ownerId}:queue:queue-0002")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0002")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"}))
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import UpdateNamespaceRequest
from gs2_lottery_client.result import UpdateNamespaceResult

def callback(async_result: AsyncResult[UpdateNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_namespace_async(
    UpdateNamespaceRequest()\
        .with_namespace_name('namespace-0001')\
        .with_description('description1')\
        .with_queue_namespace_id('grn:gs2:{region}:{ownerId}:queue:queue-0002')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0002')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'})),
    callback
)
import io.gs2.lottery.request.UpdateNamespaceRequest
import io.gs2.lottery.result.UpdateNamespaceResult

result = client.updateNamespace(
    UpdateNamespaceRequest()
        .withNamespaceName("namespace-0001")
        .withDescription("description1")
        .withQueueNamespaceId("grn:gs2:{region}:{ownerId}:queue:queue-0002")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0002")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"})),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを更新

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
description string false ネームスペースの説明
queueNamespaceId string false 景品付与処理をジョブとして追加するキューのネームスペース のGRN
keyId string true 景品付与処理のスタンプシートで使用する暗号鍵GRN
lotteryTriggerScriptId string false 抽選処理時 に実行されるスクリプト のGRN
choicePrizeTableScriptId string false 排出テーブル選択時 に実行されるスクリプト のGRN
logSetting LogSetting false ログの出力設定
パラメータ データ型 説明
item Namespace 更新したネームスペース

updatePrizeTableMaster

同期処理

from gs2_lottery_client.request import UpdatePrizeTableMasterRequest
from gs2_lottery_client.result import UpdatePrizeTableMasterResult

result = client.update_prize_table_master(
    UpdatePrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_prize_table_name('prizeTable-0001')\
        .with_description('description1')\
        .with_metadata('METADATA1')\
        .with_prizes([
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-1001'})
], "weight": 2}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-1002'})
], "weight": 3}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-1003'})
], "weight": 4})
])
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.lottery.request.UpdatePrizeTableMasterRequest
import io.gs2.lottery.result.UpdatePrizeTableMasterResult

result = client.updatePrizeTableMaster(
    UpdatePrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withPrizeTableName("prizeTable-0001")
        .withDescription("description1")
        .withMetadata("METADATA1")
        .withPrizes(new [] {
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-1001"})
}, "weight": 2}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-1002"})
}, "weight": 3}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-1003"})
}, "weight": 4})
})
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_lottery_client.request import UpdatePrizeTableMasterRequest
from gs2_lottery_client.result import UpdatePrizeTableMasterResult

def callback(async_result: AsyncResult[UpdatePrizeTableMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_prize_table_master_async(
    UpdatePrizeTableMasterRequest()\
        .with_namespace_name('namespace-0001')\
        .with_prize_table_name('prizeTable-0001')\
        .with_description('description1')\
        .with_metadata('METADATA1')\
        .with_prizes([
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-1001'})
], "weight": 2}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-1002'})
], "weight": 3}),   
Object("Prize", {"type": 'action', "acquireActions": [
Object("AcquireAction", {"action": 'Gs2Money:DepositByUserId', "request": 'Gs2Money:DepositByUserId:request:ssr-1003'})
], "weight": 4})
]),
    callback
)
import io.gs2.lottery.request.UpdatePrizeTableMasterRequest
import io.gs2.lottery.result.UpdatePrizeTableMasterResult

result = client.updatePrizeTableMaster(
    UpdatePrizeTableMasterRequest()
        .withNamespaceName("namespace-0001")
        .withPrizeTableName("prizeTable-0001")
        .withDescription("description1")
        .withMetadata("METADATA1")
        .withPrizes(new [] {
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-1001"})
}, "weight": 2}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-1002"})
}, "weight": 3}),   
Object("Prize", {"type": "action", "acquireActions": new [] {
Object("AcquireAction", {"action": "Gs2Money:DepositByUserId", "request": "Gs2Money:DepositByUserId:request:ssr-1003"})
}, "weight": 4})
}),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

排出確率テーブルマスターを更新

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
prizeTableName string true 排出確率テーブル名
description string false 排出確率テーブルマスターの説明
metadata string false 排出確率テーブルのメタデータ
prizes list[Prize] true 景品リスト
パラメータ データ型 説明
item PrizeTableMaster 更新した排出確率テーブルマスター

GS2-Script トリガーイベント

LotteryTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
lottery_model = args['lotteryModel']  -- type: LotteryModel
drawn_prizes = args['drawnPrizes']  -- type: list[DrawnPrize]
box_items = args['boxItems']  -- type: BoxItems

result = {
    permit=,  -- type: boolean
    overrideDrawnPrizes=  -- type: list[DrawnPrize]
}

抽選時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
lotteryModel LotteryModel 抽選の種類
drawnPrizes list[DrawnPrize] 抽選結果の景品リスト
boxItems BoxItems ボックスから取り出したアイテムのリスト
パラメータ データ型 説明
permit boolean 経験値変化 を許可するか
overrideDrawnPrizes list[DrawnPrize] 上書きする抽選結果の景品リスト

マスターデータフォーマット

CurrentLotteryMaster

{
  "version": "2019-02-21"
  "lotteryModels": [
    {
      "name": "[string] 抽選モデルの種類名",
      "metadata": "[string] 抽選モデルの種類のメタデータ",
      "mode": "[string] 抽選モード",
      "method": "[string] 抽選方法",
      "prizeTableName": "[string] 景品テーブルの名前",
      "choicePrizeTableScriptId": "[string] 抽選テーブルを確定するスクリプト のGRN"
    }
  ],
  "prizeTables": [
    {
      "name": "[string] 景品テーブル名",
      "metadata": "[string] 景品テーブルのメタデータ",
      "prizes": [
        {
          "type": "[string] 景品の種類",
          "prizeTableName": "[string] 排出確率テーブルの名前",
          "weight": "[integer] 排出重み"
        }
      ]
    }
  ]
}

現在有効な抽選設定

エクスポートしたマスターデータを、現在有効な抽選設定としてインポートして使用します。

GS2-Lottery の制限・制約

利用いただくにあたって注意いただく制限・制約はありません