getkirby/discord

Simple Discord webhook wrapper

Fund package maintenance!
getkirby.com/buy

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 5

Forks: 0

Open Issues: 1

Type:kirby-plugin

1.1.0 2025-01-17 12:48 UTC

This package is auto-updated.

Last update: 2025-01-17 12:53:27 UTC


README

A simple wrapper to send Discord channel webhooks

Installation

Download

Download and copy this repository to /site/plugins/discord.

Composer

composer require getkirby/discord

Git submodule

git submodule add https://github.com/getkirby/discord.git site/plugins/discord

How it works?

You need to setup a webhook for your channel on Discord first.

  1. Click on the "Edit Channel" icon right next to the channel name in the sidebar
  2. Go to "Integrations"
  3. Go to "Webhooks"
  4. Create a new webhook
  5. Copy the webhook URL
use Kirby\Discord\Discord;

Discord::submit(
  webhook: 'https://discord.com/api/webhooks/xxx/xxx',
  username: 'kirbybot',
  avatar: 'https://example.com/avatar.jpg',
  title: 'πŸ”₯ Message Title',
  color: '#ebc747',
  description: 'Here goes some nice text',
  author: [
    'name' => 'Ron Swanson',
    'url'  => 'https://example.com',
    'icon' => 'https://example.com/someicon.png'
  ],
  fields: [
    [
      'name'  => 'This is a custom field',
      'value' => 'Add any value here'
    ],
    [
      'name'  => 'This is another one',
      'value' => 'https://canbeanurl.com'
    ],
  ],
  footer: 'Some text for the footer'
);

Check out this awesome webhook embed visualizer https://leovoel.github.io/embed-visualizer/ to get an idea what each parameter does.

Important

Make sure to keep your webhook URL private. It's recommended to put it into a custom domain config that is not checked into git or store it in an ENV variable.

// site/config/config.mydomain.com.php
return [
  'discord' [
    'mywebhook' => 'https://discord.com/api/webhooks/xxx/xxx'
  ]
];

Add the custom domain config to your .gitignore and install it manually on your server.

Access the webhook URL:

Discord::submit(
  webhook: option('discord.mywebhook'),
  // see additional params above
);

What’s Kirby?

  • getkirby.com – Get to know the CMS.
  • Try it – Take a test ride with our online demo. Or download one of our kits to get started.
  • Documentation – Read the official guide, reference and cookbook recipes.
  • Issues – Report bugs and other problems.
  • Feedback – You have an idea for Kirby? Share it.
  • Forum – Whenever you get stuck, don't hesitate to reach out for questions and support.
  • Discord – Hang out and meet the community.
  • Mastodon – Follow us in the Fediverse.
  • Bluesky – Follow us on Bluesky.
  • Instagram – Share your creations: #madewithkirby.

License

MIT

Credits