Skip to content

DiscordWebhookProxy is a simple proxy that extends the discord built in github and slack webhook endpoints, allowing for customized content additional supported services.

License

Notifications You must be signed in to change notification settings

discord-csharp/DiscordWebhookProxy

Repository files navigation

Contributors Forks Issues MIT License Build Status Discord


Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

DiscordWebhookProxy is a webhook endpoint that re-formats the data sent from other services such as GitHub into much better looking and customizable discord webhooks.

Discord already supports GitHub and Slack style webhooks, why something in between?

Discord's support for github and slack style webhooks has remained largely unchanged since they were introduced with the platform, leaving meany new features such as GitHub Actions in the dust and silently failing to publish. Additionally, the embeds created by these webhooks often lack important data, or aren't formatted in a way that makes it easy to see important details at a glance. This project aims to fix that.

Getting Started

Clone and open the project in your favorite IDE/Editor!

Prerequisites

  1. Install Visual Studio Code, Visual Studio 2019, or Rider
  2. Install the dotnet SDK
  3. Install Docker
  4. (Optional) Install docker-compose

Installation

Command line:

docker run -d --restart=always -p 80:80 ghcr.io/discord-csharp/discordwebhookproxy:latest

Docker Compose:

version: '3.7'
services:
  repl:
    image: ghcr.io/discord-csharp/discordwebhookproxy:latest
    restart: always
    ports:
      - '80:80'

Note: This service isn't configured to handle HTTPS on its own. For HTTPS support, front the container with a reverse proxy such as nginx.

Usage

curl -X POST -H 'Content-Type: application/json' -d '{ custom webhook payload }' "http://localhost/webhokproxy/$discordWebhookId/$discordWebhookKey/$platformIdentifier"
Invoke-WebRequest -UseBasicParsing -ContentType application/json -Method POST -Body "{ custom webhook payload }" -Uri "http://localhost/webhokproxy/$discordWebhookId/$discordWebhookKey/$platformIdentifier" | Select-Object Content

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Chris Curwick - @Cisien on Discord

Project Link: https://github.com/discord-csharp/DiscordWebhookProxy

Acknowledgements

About

DiscordWebhookProxy is a simple proxy that extends the discord built in github and slack webhook endpoints, allowing for customized content additional supported services.

Topics

Resources

License

Stars

Watchers

Forks