Skip to content

🚀 This new wiki is in beta! Please double-check for any issue and report them on the GitHub

Webhooks Module

If you’re currently using the Webhooks module, you should:

  1. Update DiSky to version 4.15 or higher
  2. Remove the Webhooks module from your plugins/DiSky/modules/ folder
  3. Update your code to use the new built-in webhook syntax
  4. Review the new documentation at DiSky Webhooks Guide

The Webhooks module was created when DiSky didn’t have native webhook support. Since DiSky 4.15, webhook functionality has been integrated directly into the core plugin, offering:

  • Better performance and stability
  • Full integration with DiSky’s message builders
  • Active maintenance and updates
  • Consistent syntax with other DiSky features
  • Bug fixes and improvements

Webhooks allowed bots to send messages with custom names and avatars. They were designed to be anonymous—webhooks don’t have tags or unique IDs like regular bot users. Webhooks were also the only way to send messages with multiple embeds at once.

Download link (archived): GitHub Releases

The deprecated Webhooks module had several limitations:

  • No component support (buttons, select menus)
  • No interaction handling
  • Limited error handling
  • Not actively maintained
  • Incompatible with newer DiSky features

This syntax is deprecated and should not be used:

# OLD - DO NOT USE
on script load:
register webhook named "<name>" with url "<your webhook url here>"
# OLD - DO NOT USE
make a new webhook message:
set webhook name of builder to "Test"
set webhook avatar of builder to "https://example.com/avatar.png"
set webhook content of builder to "This is a test message"
make embed:
set title of embed to "Hey"
set embed color of embed to orange
set webhook embeds of builder to last embed
make client "<name>" send builder and store it in {_msgId}

Here’s how to migrate from the old module to DiSky’s built-in webhooks:

Ensure you have DiSky 4.15 or higher installed.

Delete the Webhooks module JAR from plugins/DiSky/modules/.

Old Module Syntax:

# OLD - DO NOT USE
on script load:
register webhook named "test" with url "https://discord.com/api/webhooks/..."
make a new webhook message:
set webhook name of builder to "Bot Name"
set webhook avatar of builder to "https://example.com/avatar.png"
set webhook content of builder to "Hello!"
make client "test" send builder

New Built-in Syntax:

# NEW - Use this instead
set {_webhook} to webhook with url "https://discord.com/api/webhooks/..."
make webhook message:
set webhook name to "Bot Name"
set webhook avatar url to "https://example.com/avatar.png"
set content to "Hello!"
send last webhook message to {_webhook}

Old:

make a new webhook message:
set webhook name of builder to "Announcer"
set webhook content of builder to "Server will restart in 5 minutes!"
make client "announcer" send builder

New:

set {_webhook} to webhook with url "YOUR_WEBHOOK_URL"
make webhook message:
set webhook name to "Announcer"
set content to "Server will restart in 5 minutes!"
send last webhook message to {_webhook}

Old:

make a new webhook message:
set webhook name of builder to "Status Bot"
make embed:
set title of embed to "Server Status"
set description of embed to "All systems operational"
set color of embed to green
set webhook embeds of builder to last embed
make client "status" send builder

New:

set {_webhook} to webhook with url "YOUR_WEBHOOK_URL"
make embed:
set title of embed to "Server Status"
set description of embed to "All systems operational"
set color of embed to green
make webhook message:
set webhook name to "Status Bot"
add last embed to embeds
send last webhook message to {_webhook}

Old:

make embed:
set title of embed to "Embed 1"
set {_embed1} to last embed
make embed:
set title of embed to "Embed 2"
set {_embed2} to last embed
make a new webhook message:
set webhook embeds of builder to {_embed1} and {_embed2}
make client "test" send builder

New:

set {_webhook} to webhook with url "YOUR_WEBHOOK_URL"
make embed:
set title of embed to "Embed 1"
set {_embed1} to last embed
make embed:
set title of embed to "Embed 2"
set {_embed2} to last embed
make webhook message:
add {_embed1} to embeds
add {_embed2} to embeds
send last webhook message to {_webhook}

If you need to create a webhook URL in Discord:

  1. Open Channel Settings

    Right-click on the channel and select “Edit Channel”

  2. Navigate to Integrations

    Go to the “Integrations” tab in the channel settings

  3. Access Webhooks

    Click on “Webhooks” to view and manage webhooks

  4. Create New Webhook

    Click “New Webhook” to create a new webhook

  5. Configure and Copy URL

    Set a name and avatar (optional), then click “Copy Webhook URL”

Channel Settings Panel A channel’s settings panel showing the Integrations option

Webhooks Panel The webhooks sub-panel where you can create and manage webhooks

FeatureOld ModuleBuilt-in (DiSky 4.15+)
Send messages
Custom name/avatar
Multiple embeds
Attachments/files
Components (buttons)
Edit webhook messages
Delete webhook messages
Get webhook info
Active maintenance
Error handlingLimitedComprehensive
  1. Better Integration: Seamlessly works with DiSky’s message builders
  2. More Features: Support for components, editing, and deletion
  3. Active Development: Regular updates and bug fixes
  4. Better Performance: Optimized code and resource usage
  5. Unified Syntax: Consistent with other DiSky features
  6. Full Documentation: Comprehensive guides and examples

Ready to use the new webhook system? Check out the official documentation:

The new documentation includes:

  • Complete setup instructions
  • Practical examples for all use cases
  • Best practices and tips
  • Troubleshooting guide
  • Advanced features like editing and components

Do I need to keep the old module installed?

Section titled “Do I need to keep the old module installed?”

No! Once you’ve migrated your code to use DiSky’s built-in webhooks, you should remove the old Webhooks module from your server.

Yes! Discord webhooks themselves don’t change. You just need to update the Skript code that sends messages to them.

Can I use both the old module and new syntax?

Section titled “Can I use both the old module and new syntax?”

While technically possible, it’s not recommended. You should fully migrate to the new built-in system for consistency and maintainability.

Join the DiSky Discord Server for migration assistance and support.

The syntax is different, but the core concepts remain the same. The new system is more intuitive and powerful.

Use this checklist to ensure a smooth migration:

  • Update DiSky to version 4.15 or higher
  • Review the new webhook documentation
  • Backup your current scripts
  • Remove webhook registration code (register webhook named...)
  • Update webhook message creation to use new syntax
  • Replace make client "name" send builder with new send syntax
  • Test all webhook functionality
  • Remove the old Webhooks module JAR
  • Restart your server
  • Verify everything works as expected

If you get errors about webhooks not being found:

  • Remove the old register webhook code
  • Use the webhook URL directly in the new syntax

Ensure you’re using the new syntax correctly:

# Correct new syntax
set {_webhook} to webhook with url "YOUR_URL"
make webhook message:
set content to "Test"
send last webhook message to {_webhook}

The new syntax for adding multiple embeds:

make webhook message:
add {_embed1} to embeds
add {_embed2} to embeds
add {_embed3} to embeds

For help with migration or general webhook support: