Skip to content

DAMN SDK—DAMN.FUN's NodeJS Server SDK for deploying AI-native games powered Digimon Engine.

Notifications You must be signed in to change notification settings

CohumanSpace/damn-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/sdk

Get 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');

About

DAMN SDK—DAMN.FUN's NodeJS Server SDK for deploying AI-native games powered Digimon Engine.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published