Coder Social home page Coder Social logo

crowdis's Introduction

Crowdis

Crowdis facilitates an bridge between Crowdin webhooks and Discord channels.

Getting started

⚠️ Make sure you have the default payload in Crowdin! If not, you will have to manually restructure the entire strings.json file as it's made with the default structure in mind! (see sleepypog#1)

Hosted worker

I have an worker at https://crowdis.amarox.workers.dev/ in your Webhook Details menu you can use for testing Crowdis. Be aware this worker has an limit of 100.000 daily requests.

Deploy your own worker

You can deploy your own Cloudflare Worker by clicking the button below.

Deploy to Cloudflare Workers

Using Crowdis

You can start using Crowdis by replacing https://discord.com/api/webhooks/ with your worker's URL (or the hosted worker's URL: https://crowdis.amarox.workers.dev/) in your Webhook Details menu.

Background

Crowdis is an complete rewrite of c2d, which is an fork of crowdin-discord-webhooks by the Switchblade team. The goal of c2d was to fix the countless issues with crowdin-discord-webhooks, like:

  • ⌨️ Hard to deploy to CF Workers: Crowdis allows quick self deployment with its deploy button, with one click you can have your own instance running in Cloudflare Workers.
  • 🤨 Missing event types: Crowdis added the missing event types, reported in SwitchbladeBot/crowdin-discord-webhooks#1.
  • 📷 Missing profile picture: Crowdis now uses Crowdin own brand assets instead of an Twitter image as seen here.
  • 🗂️ Didn't support bundled events: Crowdis is made from the ground up to support and operate with bundled events.

While it solved these issues, it had issues of its own:

  • 🍜 Spaghetti code: It was pretty hard to understand c2d's code, which made bug fixing hard impossible.
  • 🗄️ Hard to keep updated: New event types had to be hard-coded in, and there was no consistency for event handling.
  • 🔨 Hard-coded values: Because I didn't know the patterns in the Crowdin webhook payloads, it had a lot of redundant and unnecessary variables, like project URLs, language names and more, this was fixed by using the payload over hard-coded values!
  • 🩹 A mess overall: I abandoned the project and left it to its own luck for quite a long time, sorry! Crowdis is made to be as robust as possible, adjusting to Crowdin updates should be as easy as changing strings.json

crowdis's People

Contributors

ggvbo avatar github-actions[bot] avatar mmattbtw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.