Mudlet Discord Webhook Support

Share your scripts and packages with other Mudlet users.
Post Reply
Posts: 1
Joined: Thu Jul 16, 2020 6:49 pm

Mudlet Discord Webhook Support

Post by SynecticLabs »

The function below will allow a Mudlet user to send a message to a Discord server via a webhook.

Code: Select all

function sendToDiscordWebhook(discord_username, avatarurl, message)
  local httpdone = registerAnonymousEventHandler('sysPostHttpDone', 
    function(event, rurl, response)
      if rurl == url then display(r) else return true end
    end, true)

  local httperror = registerAnonymousEventHandler('sysPostHttpError', 
    function(event, response, rurl)
      if rurl == url then display(r) else return true end
    end, true)

  local url = ""
  local data = {
    username = discord_username, 
    avatar_url = avatarurl,
    content = message
  local header = {
    ["Content-Type"] = "application/json",
    --["Content-Length"] = data:len()
  postHTTP(yajl.to_string(data), url, header)
Place this into a script object, then insert your webhook endpoint into the url variable.

To send a message, you can do something akin to:

Code: Select all

sendToDiscordWebhook("MyBotName", false, "My boring message.")
Put this into a trigger to do fancy things like announcing kills, forwarding clan tells into your server, etc.


Posts: 1
Joined: Wed Nov 18, 2020 4:19 pm

Re: Mudlet Discord Webhook Support

Post by neongrey »

hey, got this working but just wanted to leave this here for anyone else who tries to get this to work-- discord wants null, not false for the avatarurl, and you can also null out the bot name on the trigger too, like so:
Code: [show] | [select all] lua
sendToDiscordWebhook(null, null, "My Boring Message")

Post Reply