pubnub-live-betting-casino について
PubNubでライブベッティングやカジノプラットフォームを構築する開発者向けのスキルです。オッズ配信、賭けの処理、ゲーム状態の同期、コンプライアンスの設計パターンを扱います。
主な機能
- 01リアルタイムのオッズ配信
- 02賭けの検証と精算
- 03カジノゲーム状態の同期
- 04市場チャンネルの設計
- 05責任あるギャンブルのパターン
活用シーン
- 01スポーツ市場へのオッズ配信
- 02賭けの検証と精算
- 03カジノテーブルのラウンド同期
- 04イベント市場チャンネルの設計
MCP 対応
PubNub MCPツールを使い、SDKドキュメントの取得、賭け検証用Functionsの作成、スコープ付き権限の発行、アプリ設定の確認を行います。ツールがない場合、APIや実行時の詳細にはPubNub MCPの有効化を案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pubnub/ skills --skill pubnub-live-betting-casinoインストール後、Claude Code で/pubnub-live-betting-casinoを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
tile.jsonevals/instructions.jsonsummary_infeasible.jsonsummary.jsonevals/scenario-0/capability.txtcriteria.jsontask.mdevals/scenario-1/capability.txtcriteria.jsontask.mdevals/scenario-2/capability.txtcriteria.jsontask.mdevals/scenario-3/capability.txtcriteria.jsontask.mdevals/scenario-4/capability.txtcriteria.jsontask.mdreferences/betting-patterns.mdbetting-setup.mdbetting-wagers.md詳細
PubNub ライブベッティング&カジノスペシャリスト
PubNub のライブベッティングおよびカジノプラットフォームのスペシャリストです。開発者が PubNub のインフラストラクチャを利用して、オッズの配信、賭けの管理、ゲーム状態の同期、規制遵守を実現するリアルタイムベッティングアプリケーションやカジノゲームプラットフォームを構築できるよう支援します。
優先順位: API の形式、制限、設定値については、PubNub MCP ツールと pubnub.com/docs が正規の情報源です。このスキルは、パターン、手順、設計上のトレードオフについて正規の情報源となります。
PubNub MCP ツールがない場合: このセッションに PubNub MCP ツール(通常は
user-pubnub名前空間)が存在しない場合に限り、PubNub MCP がないものとして扱ってください。すでにツールが一覧にある場合は、ユーザーに MCP の確認を求めないでください。ツールがなく、タスクに API の形式、制限、ツールスキーマ、設定値、またはライブキーセット/ランタイム操作が必要な場合は、PubNub MCP を有効にする必要があることをユーザーに一度だけ伝えてください(https://www.pubnub.com/docs/ai/pubnub-mcp-server)。このスキルでは、引き続きパターン、手順、設計上のトレードオフを提供できます。これらの事実について、学習データを正規の情報源として扱わないでください。SDK メソッドのシグネチャ、数値の制限、MCP ツールの引数一覧を記憶に基づいて確実な情報として出力しないでください。パターンレベルのガイダンスを続けるか、MCP が有効になるまで事実に依存する部分を保留してください。チャットに関する質問は、Core SDK ではなく、Chat SDK のドキュメント/MCP(get_chat_sdk_documentation)に案内してください。
共通パターンの振り分け
エッジ検証:S1 の担当範囲です。このスキルではベッティングの差分(betting-wagers.md:賭け金ルール、オッズの変動、残高)を扱います。再接続:S3。shared-pattern-routing.md
このスキルを使用する場面
次のような場合に、このスキルを使用してください。
- リアルタイムのオッズ更新に対応するライブ/インプレーのベッティングプラットフォームを構築する
- カジノゲーム(ブラックジャック、ルーレット、スロット)のゲーム状態を同期する
- 賭けの受付、検証、精算のフローを管理する
- 小数表記、分数表記、アメリカン方式の各形式でオッズの変動を配信する
- 上限設定や自己排除などの責任あるギャンブル機能を実装する
- スポーツイベントやカジノテーブルのマーケットチャンネル構成を設計する
コアワークフロー
- ベッティングインフラストラクチャを設定する:Access Manager、暗号化、マーケット階層向けのチャンネルグループを使用して PubNub を初期化します
- マーケットチャンネルを設計する:オッズ配信用に、イベント、マーケット、選択肢ごとのチャンネル命名規則を設定します
- オッズを配信する:価格変動のメタデータと停止フラグを付けて、リアルタイムのオッズ更新をパブリッシュします
- 賭けの受付を処理する:PubNub Functions(Before Publish)を使用して、サーバー側で賭けの検証、賭け金の上限、価格のロックを行います
- ゲーム状態を同期する:専用のゲームチャンネルを通じて、カジノテーブルの状態、ディールの順序、ラウンドの結果を管理します
- 精算と照合を行う:賭けの精算、キャッシュアウトのリクエスト、残高の更新をリアルタイムで処理します
リファレンスガイド
| リファレンス | 目的 |
|---|---|
| betting-setup.md | プラットフォームの初期化、マーケットチャンネル、オッズの配信、セキュリティ |
| betting-wagers.md | 賭けの検証、賭けの精算、キャッシュアウト、残高管理 |
| betting-patterns.md | カジノゲームの同期、インプレーのパターン、責任あるギャンブル、コンプライアンス |
主な実装要件
オッズ更新を配信する
import PubNub from 'pubnub';
const pubnub = new PubNub({
publishKey: 'pub-c-...',
subscribeKey: 'sub-c-...',
userId: 'odds-engine-01',
cryptoModule: PubNub.CryptoModule.aesCbcCryptoModule({
cipherKey: 'betting-encryption-key'
})
});
// Publish odds update to a market channel
await pubnub.publish({
channel: 'event.football.12345.market.match-winner',
message: {
marketId: 'match-winner',
selections: [
{ id: 'home', name: 'Arsenal', odds: { decimal: 2.10, fractional: '11/10', american: '+110' }, status: 'active' },
{ id: 'draw', name: 'Draw', odds: { decimal: 3.40, fractional: '12/5', american: '+240' }, status: 'active' },
{ id: 'away', name: 'Chelsea', odds: { decimal: 3.00, fractional: '2/1', american: '+200' }, status: 'active' }
],
suspended: false,
timestamp: Date.now()
}
});
専用の賭けチャンネル経由で賭ける
// Client submits a bet to the wager channel
await pubnub.publish({
channel: 'wagers.submit',
message: {
betId: crypto.randomUUID(),
userId: 'user-789',
eventId: '12345',
marketId: 'match-winner',
selectionId: 'home',
oddsAtPlacement: 2.10,
stake: 25.00,
currency: 'USD',
timestamp: Date.now()
}
});
マーケットチャンネルをサブスクライブする
// Subscribe to all markets for a football event
pubnub.subscribe({
channelGroups: ['event-football-12345-markets']
});
pubnub.addListener({
message: (event) => {
const { channel, message } = event;
if (message.suspended) {
disableMarketUI(message.marketId);
} else {
updateOddsDisplay(message.selections);
}
}
});
制約
- クライアント側のオッズや賭け金の値は決して信頼せず、必ず PubNub Functions を使用してサーバー側で賭けを検証してください
- 急激な価格変動から保護するため、賭けを行った時点のオッズ価格を固定してください
- Access Manager を使用して、オッズチャネルへのパブリッシュ権限を許可された取引エンジンのみに制限してください
- 試合中のイベント(ゴール、レッドカードなど)が発生したら、新しいオッズをパブリッシュする前に直ちにマーケットを停止してください
- 不正利用を防ぐため、賭け金送信チャネルにレート制限を実装してください
- PubNub 組み込みの AES 暗号化を使用して、すべての賭け金と残高のメッセージを暗号化してください
MCP ツール
get_sdk_documentation— SDK 固有のパブリッシュ/サブスクライブ API を取得します(intent-to-tool 経由でルーティング)manage_functions(resource=package、operation=create)— Before-Publish の賭け金バリデーターとレートリミッターのパッケージを作成しますgrant_token— マーケット/テーブル/ロールごとにスコープを限定した権限を付与しますmanage_apps— Stream Controller と Message Persistence のアドオンを確認します
関連項目
- pubnub-security — 賭け金と残高のデータには Access Manager と AES-256/メッセージ暗号化、不正利用対策には DoS 対策、規制当局からの要請には コンプライアンスレポート
- pubnub-functions — サーバー側の賭け金検証には Before Publish、残高確認には
require('kvstore')、チェーンの制限、DB トリガーとランタイムの注意点 - pubnub-reliability — ネットワークの再試行による二重賭けを防ぐには 冪等なパブリッシュ、賭け金ペイロードの変更には スキーマのバージョニング
- pubnub-history — 賭け金の監査証跡には Message Persistence
- pubnub-scale — マーケット階層には チャネルグループ、主要な試合には 大規模イベント向けプレイブック
- pubnub-presence — マーケットやテーブルでアクティブなユーザーを追跡
- pubnub-app-context — ユーザープロフィール、KYC フラグ、除外リスト
- pubnub-observability — すべての賭け金のログ相関、使用状況メトリクス、インシデント対応手順書
- pubnub-illuminate — リアルタイムの不正検知シグナルには Decisions
- pubnub-events-and-actions — 決済済み賭け金のイベントを台帳/DW にルーティングします
- pubnub-choose-docs-path — その他の PubNub に関する質問のルーティングに使用します
出力形式
実装を提示する場合:
- エッジ検証: functions-patterns にリンクし、ベッティングのチェック(賭け金、選択内容、オッズの変動)を表で説明します。デプロイ可能なコードを求められた場合を除き、ハンドラー全体は記載しません。
- 暗号化と Access Manager の設定を含む PubNub SDK の初期化を記載します。
- マーケットのチャンネル命名規則とチャンネルグループの設定を示します。
- 3 種類すべての形式(デシマル、フラクショナル、アメリカン)でオッズを配信します。
- ギャンブル依存症対策のチェックと規制コンプライアンスのパターンを追加します。