An unofficial トピア API explorer.
npm install @kyarame/topiaAn unofficial トピア API explorer.
Current トピア version: 4.14.0.
``typescript
import * as Topia from "@kyarame/topia";
const config: Topia.Types.Config = {
accessToken: process.env.ACCESS_TOKEN,
identificationHash: process.env.IDENTIFICATION_HASH,
};
const client = new Topia.Client(config);
await client.initialize();
`
`bash`
npm install @kyarame/topiaor
yarn add @kyarame/topia
`bash`
yarn build
`bash`
yarn build
yarn ts-node -r tsconfig-paths/register --files examples/
The main client.
- constructor(config?: Types.Config, APP_TOKEN_PORT?: number):platform: Types.Platform
Set client configs and the port on which the app token server will be listening.
- Public fields and getters:
- clientVersion: string
- accessToken?: string
- identificationHash?: string
- refreshToken?: string
- onRefresh?: (config: Types.Config) => void | Promise
- : The function called when this.accessToken changes.masterData?: Types.MasterData
- appToken?: string
- get appTokenPort(): number
- : Get the port of the app token server. Refer to examples/app-token.ts.get config(): Types.Config
- : Get the config object.room: RoomClient
- : Refer to the following subsection.async initialize()
- : Initialize the client.async waitForAppToken()
- : Wait for the app token to be provided. Refer to examples/app-token.ts.async request
- : Request to the main API server.
type RoomId = number
- Public fields and getters:
- masterData?: Types.MasterDataidToken?: string
- : Firebase ID token.idTokenExpires: number
- : The expire date of idToken.onData?: (roomId: RoomId, path: string, diff: any) => void
- : The function called when the room data changes.ws: Map
- : Websocket clients. Refer to the next subsection for WebSocket.data: Map
- : Room data.
- setMasterData(masterData: Types.MasterData): Set the master data.async add(info: Types.SimpleRoom, queries?: Types.RoomQuery[])
- : Track a room.remove(roomId: RoomId)
- : Remove a tracked room.subscribe(roomId: RoomId, queries: Types.RoomQuery[])
- : Subscribe specified queries.unsubscribe(roomId: RoomId, queries: Types.RoomQuery[])
- : Unsbscribe specified queries.sendComment(roomId: RoomId, comment: Types.RoomComment)
- : Send a (properly typed) comment._sendRawComment(roomId: RoomId, comment: Types._Comment)
- : Send a raw comment.sendGift(roomId: RoomId, details: { userId: number; nickname: string; giftId: number; comboCount: number })`: Send one or more gifts.
-
- More APIs will be added.