@damn-fun/sdk
v0.0.4
Published
DAMN.FUN's NodeJS Server SDK for deploying AI-native games powered Digimon Engine.
Readme
damn-sdk
DAMN SDK—DAMN.FUN's NodeJS Server SDK for deploying AI-native games powered Digimon Engine.
Quickstart
Requirement
node > 18.19
Install
npm install @damn-fun/sdkGet your API key
Visit damn.fun
Create a client
const baseUrl = 'https://node.damn.fun';
const apiKey = 'your api key';
const client = new ApiClient({ baseUrl, apiKey });Upload assets(png, jpg, mp3, etc.)
const fileBuffer = fs.readFileSync('damn-logo.png');
const blob = new Blob([fileBuffer], { type: 'image/png' });
const uploadRes = await getApiClient().upload(blob, 'damn-logo.png');Create map
client.createMap({
storageId: 'storage id from upload',
title: 'string',
description: 'string',
status: 'string',
visibility: 'string',
width: 1000,
height: 1000,
});Update map
client.updateMap({
id: 'map id',
updates: { title: 'new title' },
});Map list
client.getMapList();Create music
client.createMusic({
audioStorageId: 'storage id from upload',
coverStorageId: 'storage id from upload',
description: 'string',
status: 'string',
title: 'string',
visibility: 'string',
});Update music
client.updateMusic({
id: 'music id',
updates: { title: 'new title' },
});Music list
client.getMusicList();Create agent
client.createAgent({
avatarStorageId: 'storage id from upload',
spriteStorageId: 'storage id from upload',
prompt: 'string',
name: 'string',
description: 'string',
status: 'string',
visibility: 'string',
});Update agent
client.updateAgent({
id: 'agent id',
updates: { name: 'new name' },
});Agent list
client.getAgentList();Create game
client.createGame({
mapId: 'map id',
agentIds: ['agent id', 'agent id'],
musicId: 'music id',
logoStorageId: 'storage id from upload',
backgroundStorageId: 'storage id from upload',
twitterHandle: 'string',
title: 'string',
description: 'string',
visibility: 'string',
});Update game
client.updateGame({
id: 'game id',
updates: { title: 'new title' },
});Game list
client.getGameList();Get world status
client.gameData.getWorldStatus('game id');Get agent player list
client.gameData.getAgentPlayerList('game id');Get human player list
client.gameData.getHumanPlayerList('game id', { numItems: 10, cursor: null });Get player
client.gameData.getPlayer('game id', 'player id like p:0');Get conversation list
client.gameData.getConversationList('game id', { numItems: 10, cursor: null });Get message list
client.gameData.getMessageList('conversation id like c:0');