When these managers matter
Many bots spend most of their time in messages, channels, guilds, and interactions. The rest of the manager surface becomes important when you are building:- deployment and logging pipelines
- webhook-driven integrations
- invite analytics or automation
- application metadata features
- operational tooling around templates, entitlements, or scheduled events
Webhooks
client.webhooks covers:
fetchfetchByChannelfetchByGuildcreateeditdeleteexecute
Execute a webhook
wait: true is enabled, Discord returns the created message and Chameleon builds it into a cached Message.
Execute with files or components
Webhook execution supports the same broad payload patterns as normal message sends:- embeds
- components
- polls
- file uploads
Invites
client.invites is intentionally small and focused:
fetchdelete
client.channels.createInvite(...).
Application manager
client.application is useful when you need metadata about the current bot application rather than guild content.
It currently covers:
fetchfetchRoleConnectionMetadataeditRoleConnectionMetadata
Other specialized managers
Chameleon also exports managers for narrower Discord surfaces:client.autoModclient.scheduledEventsclient.entitlementsclient.stageInstancesclient.templatesclient.soundboard
- typed result objects
- manager-owned REST operations
- cache updates where relevant
Recommended usage pattern
If your bot grows into multiple processes or services, a useful split is:- gateway client for interactions and live events
- REST-leaning utilities for webhooks, templates, and metadata tasks
- shared application code that only depends on the explicit result shape