Gateway (Socket.IO)
Echtzeit-Events für Bots und Clients.
Verbindung
Code
URL: https://api.voxery.xyz
Path: /socket.io
Namespace: /
Auth: auth.token = accessToken (JWT) or botToken
Für Bots: auth.token = Bot-Token statt JWTRäume beitreten
Nach dem Connect musst du explizit Server- und Kanal-Räume joinen, um Events zu erhalten:
Code
socket.emit("join_server", { serverId: "..." });
socket.emit("join_channel", { channelId: "..." });Client → Server
| Event | Payload | Beschreibung |
|---|---|---|
| join_server | { serverId } | Server-Raum für Presence & Events |
| join_channel | { channelId } | Kanal-Raum für Nachrichten |
| send_message | { channelId, content } | Nachricht senden |
| toggle_reaction | { channelId, messageId, emoji } | Reaktion toggeln |
| edit_message | { channelId, messageId, content } | Nachricht bearbeiten |
| delete_message | { channelId, messageId } | Nachricht löschen |
| typing_start | { channelId } | Tippt-Indikator |
Server → Client
| Event | Beschreibung |
|---|---|
| message_create | Neue Kanal-Nachricht |
| message_update | Nachricht bearbeitet |
| message_delete | Nachricht gelöscht |
| reaction_update | Reaktionen geändert |
| presence_update | Online-Status im Server |
| channel_create | Neuer Kanal |
| member_roles_update | Rollen eines Mitglieds |
| notification | Persönliche Benachrichtigung |
| interaction_create | Slash-Command Interaction für Bots |
message_create Payload
Code
{
"id": "msg_...",
"content": "Hello!",
"channelId": "clx...",
"author": {
"id": "user_...",
"username": "max",
"discriminator": "0042"
},
"createdAt": "2026-06-29T12:00:00.000Z"
}Hinweis für Server-Bots
Gateway-Bots laufen am besten als Node.js-Prozess (nicht im Browser), da CORS nur für voxery.xyz und localhost gilt.