Giter VIP home page Giter VIP logo

marchyguard's Introduction

Greetings! ๐Ÿ‘‹

Hello, folks! I'm Keanu, a budding young developer who has a deep passion for open-source projects. If you want to contact me for whatever reason, shoot an email to [email protected]. You can always check out my website here.

wakatime visitors

Specialisations ๐Ÿง

I have almost 10 years of experience within the IT field - mainly with Linux system administration (Debian/Red Hat/Arch, etc), and I also have considerable experience with frontend/backend development in Golang/Node.js/TypeScript, as well as DevOps (Docker, Kubernetes, OpenShift).

I hold the Certified Kubernetes Adminstrator certification and the Red Hat Certified System Administrator certification.

OSes I use:


Tools I use:

Languages ๐Ÿ•น๏ธ

The languages/technologies I feel most confident in are:

Languages that I have some experience in dabbling with are:

Statistics

Metrics

marchyguard's People

Contributors

keanu73 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

ritz0007

marchyguard's Issues

Type safety issues

Sentry Issue: MARCHYGUARD-6

Error [GUILD_VOICE_CHANNEL_RESOLVE]: Could not resolve channel to a guild voice channel.
  File "/app/dist/modules/AFKModule.js", line 85, in Object.AFKTimeout
    void member.voice.setChannel(afkChannel, "User was AFK for 10 minutes");
  ?, in runMicrotasks

Twitch Pre-Stream Group Flight Utility

@theCowBoiCoder suggested this last night and I think this could actually turn out to be pretty cool. All for automation, right?

Criteria:

  • Be able to let the bot know you are about to stream at X time (or read from schedule maybe??)

  • Be able to fetch crucial information from possibly something like your most recent SimBrief briefing, or be able to specify the information manually if need be? (for stands we'll of course have to get this manually, unless you're already spawned in....)

  • Be able to announce this information in #announcements and have a reaction for people to react to if they are going to fly on the stream group flight

  • For participants of the stream group flight, they will be quizzed as to what stand they are on and if not stored already, what their SimBrief username is. Of course, they don't have to and will be given the option to provide information like callsign, flight number, aircraft type manually.

  • This information will then be displayed in the embed in the #announcements channel (maybe even include a map of the airport with the Discord profile pictures of the people on the ground??? that would be cool)

VirtualDJ stream loopback

@MattMarchy is annoyed that he can't seperately stream VirtualDJ so that he can actually listen to a seperate point of a track on the deck while mixing live - he has to stream on YouTube currently to do this - so my idea is to make a streaming server that works like Youtube/Twitch that will, upon request, directly loopback into the Discord channel. Turns out that VirtualDJ lets you stream to an audio file by temporarily spinning up a webserver on port 8000 titled listen.mp3. All that's needed is to check whether the streaming server is online at first and retry a couple of times, and if so, stream it.

Criteria:

  • Fully error-proof - retries connecting to the streaming server if URL is not pingable.

  • Receive the stream and upon request, stream it into the Discord channel.

Twitter ratelimiting

Sentry Issue: MARCHYGUARD-5

Error: Error 429: Too Many Requests @ https://api.twitter.com/2/tweets/search/stream?media.fields=url%2Cpreview_image_url&tweet.fields=attachments%2Ccreated_at%2Centities%2Creferenced_tweets&user.fields=created_at%2Cname%2Cprofile_image_url%2Cusername&expan...
  File "/app/dist/modules/Twitter.js", line 53, in Function.receiveStream
    throw new Error(`Error ${streamResult.status}: ${streamResult.statusText} @ ${streamResult.url}`);
  File "/app/dist/modules/Twitter.js", line 59, in async Function.streamTweets
    const stream = await this.receiveStream();
  File "/app/dist/modules/Twitter.js", line 13, in async Function.start
    const stream = await this.streamTweets();

Soundboard repository

Criteria:

  • Have the ability to add, edit and remove sounds with commands (ideally also add sounds manually with DB operations, MongoDB Atlas could prove useful here?)

  • Be able to play sounds, but also be able to disable the soundboard module upon request by the owner? Possibly add restrictions on how many times a sound can be played in a day or so?

  • Collect statistics about the play count of the specific sound, who last played it, and be able to produce a graph of sorts to show who is the most annoying by playing the most sounds

Lack of type safety in actual timeout thread

Sentry Issue: MARCHYGUARD-7

DiscordAPIError: Target user is not connected to voice.
  File "/app/node_modules/discord.js/src/rest/RequestHandler.js", line 154, in RequestHandler.execute
    throw new DiscordAPIError(request.path, data, request.method, res.status);
  File "node:internal/process/task_queues", line 93, in processTicksAndRejections
  File "/app/node_modules/discord.js/src/rest/RequestHandler.js", line 39, in async RequestHandler.push
    return await this.execute(request);
  File "/app/node_modules/discord.js/src/structures/GuildMember.js", line 312, in async GuildMember.edit
    await endpoint.patch({ data, reason });

Screenshot competition entry system

Screenshots in #screenshots will have a reaction for info about entering the monthly screenshot competition - person receives a DM with more reactions asking if they want to enter. If so, ask what sim it is, then save it into a P3D/XP11 folder naming the picture after their Discord ID.

If someone uploads another photo, remove the previous one from the NAS.

  • Be able to enable/disable the module on demand & purge messages when disabled.

  • Be able to upload a screenshot into the named screenshots channel and select which simulator it is (using custom emojis for X-Plane or P3D)

  • Be able to save uploaded screenshot data into a database, and write it into a specific folder which is mounted by a Docker volume into a specific folder on the NAS.

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.