diff --git a/packages/backend/src/server/api/stream/channels/mahjong-room.ts b/packages/backend/src/server/api/stream/channels/mahjong-room.ts index 353d0b5ba7..3388b2f16f 100644 --- a/packages/backend/src/server/api/stream/channels/mahjong-room.ts +++ b/packages/backend/src/server/api/stream/channels/mahjong-room.ts @@ -56,6 +56,7 @@ class MahjongRoomChannel extends Channel { case 'ready': this.ready(body); break; case 'updateSettings': this.updateSettings(body.key, body.value); break; case 'addAi': this.addAi(); break; + case 'leave': this.leaveRoom(); break; case 'confirmNextKyoku': this.confirmNextKyoku(); break; case 'dahai': this.dahai(body.tile, body.riichi); break; case 'tsumoHora': this.tsumoHora(); break; @@ -98,6 +99,13 @@ class MahjongRoomChannel extends Channel { this.mahjongService.addAi(this.roomId!, this.user); } + @bindThis + private async leaveRoom() { + if (this.user == null) return; + + this.mahjongService.leaveRoom(this.roomId!, this.user); + } + @bindThis private async dahai(tile: number, riichi = false) { if (this.user == null) return; diff --git a/packages/misskey-js/src/streaming.types.ts b/packages/misskey-js/src/streaming.types.ts index 102ad24b24..31ae1b0bce 100644 --- a/packages/misskey-js/src/streaming.types.ts +++ b/packages/misskey-js/src/streaming.types.ts @@ -358,6 +358,7 @@ export type Channels = { body: unknown; }; addAi: Record; + leave: Record; confirmNextKyoku: Record; dahai: { tile: number;