ns Docsns Docs
Events

Guild Delete

Handling bot removal from servers in nsCore

Overview

The guildDelete event is triggered when the bot is removed from a server or the server itself becomes unavailable.

This event is essential for:

  • Cleaning up stored data
  • Logging server removals
  • Tracking bot growth and churn
  • Preventing stale configurations

This event fires automatically when the bot leaves or is kicked from a guild.


When Is guildDelete Triggered?

The event fires when:

  • A server owner removes the bot
  • The bot is kicked
  • The guild is deleted or becomes permanently unavailable
client.on('guildDelete', guild => {
  // Triggered when the bot leaves a guild
})
This event does NOT fire when the bot is offline during removal.

Typical Use Cases

Common tasks handled in guildDelete include:

  • Removing guild-specific configurations
  • Clearing database entries
  • Logging server departure details
  • Updating analytics dashboards

Tracking guild removals helps you understand why servers stop using your bot.


Example Implementation

Below is a basic guildDelete event handler structure:

import { ExtendedClient } from '../../interfaces/ExtendedClient'
import { logger } from '../../utils/logger'

export const registerGuildDeleteEvent = (client: ExtendedClient) => {
  client.on('guildDelete', guild => {
    logger.warn('Guild', `Removed from guild: ${guild.name} (${guild.id})`)
  })
}
Always log guild removals to keep operational visibility.

Handling Missing Data

In some cases:

  • Guild name may be unavailable
  • Member count may be null

Always write defensive code.

guild.name ?? 'Unknown Guild'
Never assume guild properties are always present.

Best Practices

  • Avoid async-heavy logic inside this event
  • Never attempt to send messages to the guild
  • Immediately clean stored guild data
  • Keep this handler lightweight
Attempting to message a deleted guild will always fail.

Summary

The guildDelete event:

  • Detects when the bot leaves a server
  • Helps maintain clean state
  • Supports analytics and logging
  • Prevents orphaned data

It is a critical server lifecycle event and should always be implemented.

Last updated on

On this page