Giter VIP home page Giter VIP logo

discord-stream's Introduction

Hello πŸ‘‹

  • πŸ”­ Working daily on Vue 3 websites with high-interactivity for thousands of users.
  • 🌳 Side-projects on Next.js:
    • Built in public a few SaaS
    • Working on a B2B niche SaaS
  • ⚑ I enjoy working with the serverless infrastructure.

Vue.js Next.js TypeScript Vercel

discord-stream's People

Contributors

dependabot[bot] avatar greenkeeper[bot] avatar totominc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

discord-stream's Issues

Add an interceptor on the HTTP service for revoked JWT

Actually the HTTP service doesn't support API calls when the JWT is revoked.

Since the HTTP service is using axios, it's possible to add an interceptor (on a 401 response error) to do this flow:

  1. keep initial request config (to re-try it later)
  2. generate a new JWT
  3. re-try the initial request

Explicit error message when bot doesn't have proper permissions

Sometimes we can't be sure the bot have the required permissions for a specific voice-channel, and it leaves a generic error message for the user.

The bot actually need 2 permissions (CONNECT, SPEAK) from the user voice-channel (message.member.voiceChannel). We can check if the bot doesn't have one of these permissions (message.member.voiceChannel.permissions.has(...)) and throw a less generic error message.

Logs folder should at the root folder

Actually the logs folder is at discord-stream/packages/discord-bot/logs but instead it should be at discord-stream/logs.

Also fix the logger to don't put Error strings on the errors.log file.

Better way to revoke the JWT internally

Actually when the discord-bot is making API requests it uses a JWT, which lasts for 1 hour. The bot is meant to be runned continually without interruption, this is where we need to revoke a JWT otherwise the bot won't be able to update data (i.e. a guild prefix).

There is an interval already setup which runs every 30 minutes to generate a new JWT, but instead we should use Axios's interceptors on a 401 failed response since it's the proper way to do it.

Better defaults for the HTTP service

We should not pass any options when casually using the HTTP service. It should have better defaults such as Content-Type: application/json or automatically retrieve JWT (see #25).

An in-range update of lerna is breaking the build 🚨

The devDependency lerna was updated from 3.9.0 to 3.9.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

lerna is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details

Release Notes for v3.9.1

Bug Fixes

  • bootstrap: Don't pass --ignore-scripts to npm install (e602838), closes #1855
  • bootstrap: Prevent recursive execution from all install lifecycles (ea9dbbe)
Commits

The new version differs by 3 commits.

  • c2b606c chore(release): publish v3.9.1
  • ea9dbbe fix(bootstrap): Prevent recursive execution from all install lifecycles
  • e602838 fix(bootstrap): Don't pass --ignore-scripts to npm install

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Stop using native promises and switch to bluebird

Native promises are known to be slower (because they are not written in C, but instead in JS) and doesn't provide a lot of features.

Bluebird is a must have for any Node back-end, it is much more faster and use less memory. It has also cool features like promisify callbacks functions and built-in warnings and full stack traces (!).

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.