# Kisscord

**URL:** <https://hotbunny.dev/t/kisscord/59>\
**Category:** API Reference\
**Created:** [October 21, 2026, 4:02pm UTC](https://hotbunny.dev/t/kisscord/59 "2026-10-21T16:02:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![SteelWaffe7](https://hotbunny.dev/user_avatar/hotbunny.dev/steelwaffe7/32/11_2.png) [@SteelWaffe7](https://hotbunny.dev/u/SteelWaffe7)\
**Post date:** [October 21, 2026, 4:02pm UTC](https://hotbunny.dev/t/kisscord/59/1 "2026-10-21T16:02:58Z")

</div>

The `Kisscord` namespace provides access to the in-game Discord-like messaging application. Create NPC contacts, send messages, and manage friend lists.

**No permission required.**

## Import

```typescript
import { Kisscord, KisscordStatus } from "@hotbunny/hackhub-content-sdk";

```

## Methods

### `Kisscord.createUser(options?)`

Create a new Kisscord user with sensible defaults.

| Parameter | Type | Description |
| --- | --- | --- |
| `options.id` | `string?` | Custom ID (auto-generated if omitted) |
| `options.username` | `string?` | Username |
| `options.firstName` | `string?` | First name |
| `options.lastName` | `string?` | Last name |
| `options.avatar` | `string?` | Avatar image URL |
| `options.isFriend` | `boolean?` | Auto-add as friend |
| `options.status` | `KisscordStatus?` | Online status |

**Returns:** `KisscordUser`

```typescript
const informant = Kisscord.createUser({
    username: "informant",
    firstName: "John",
    lastName: "Doe",
    isFriend: true,
    status: KisscordStatus.Online,
});

```

### `Kisscord.addUser(user)`

Register a user in the Kisscord system.

```typescript
Kisscord.addUser(informant);

```

### `Kisscord.removeUser(userId)`

Remove a user and their messages from Kisscord.

### `Kisscord.addFriend(username)`

Mark a user as a friend by their username.

**Returns:** `boolean` - `true` if successful.

### `Kisscord.sendMessage(channelUserId, content, isMine?)`

Send a message in a DM channel. The channel is identified by the other user’s ID.

| Parameter | Type | Description |
| --- | --- | --- |
| `channelUserId` | `string` | The other user’s ID (identifies the channel) |
| `content` | `string` | Message content |
| `isMine` | `boolean?` | If `true`, message appears as sent by the player |

```typescript
Kisscord.sendMessage(informant.id, "I have the files you need.");
Kisscord.sendMessage(informant.id, "Send them over.", true); // Player's reply

```

### `Kisscord.changeStatus(userId, status)`

Change a user’s online status.

```typescript
Kisscord.changeStatus(informant.id, KisscordStatus.Offline);

```

### `Kisscord.getMessages(channelUserId)`

Get all messages in a DM channel.

**Returns:** `KisscordMessageInfo[]`

### `Kisscord.Status`

Re-export of the `KisscordStatus` enum for convenience.

## Enums

### `KisscordStatus`

```typescript
enum KisscordStatus {
    Online = "ONLINE",
    Offline = "OFFLINE",
    Idle = "IDLE",
}

```

## Types

### `KisscordUser`

```typescript
interface KisscordUser {
    id: string;
    username: string;
    name: string;
    surname: string;
    avatar: string;
    isFriend?: boolean;
    status: KisscordStatus;
}

```

### `KisscordMessageInfo`

```typescript
interface KisscordMessageInfo {
    channel: string;
    content: string;
    isMine?: boolean;
    sendedAt: string;
    read?: boolean;
}

```
