Giter Site home page Giter Site logo

huppy's Introduction

Hue avatar

πŸ‘‹ Hi there

I'm Hue! I love coding and though I consider .NET as my main technology I'm always open for learning new ones and mastering them!

πŸ‘Ύ Something about me

πŸ’¬ If you have any questions feel free to contact me at discord click here (HueByte) or via email [email protected]
I really recommend checking out https://me.huebytes.com/ !

⚑ Currently besides my full-time job I'm Computer Science student


πŸ’» Things I'm working on lately in my free time βš—οΈ

  • Improving my programming skills
  • Developing my projects like Jiro
  • Maintaining My Things Saver
  • Learning Computer Science stuff
  • Some smaller projects that I have in my mind

Things aren’t always #000000 and #FFFFFF

huppy's People

Contributors

huebyte avatar kaisobits avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

huppy's Issues

[Task βš—] Change Bot Uptime

Description

Change Bot Uptime format in /debug info command field to better looking one (up to task taker)

Goals

  • Modify format
  • Apply to field

Dev guide

Prepare branch and commit namings file, preferably CONTRIB

[BUG πŸ›] Command duplicates

Describe the bug

Investigate why some commands get registered twice to a single server.

Expected behavior

Commands get registered once and displayed without duplicate.

Screenshots

preview

Additional context

Happened on recent deployment

[Task βš—] Create middleware system

Description

Create middlewares system to command handler

Tasks

  • Create middleware system
  • Remake user check to middleware
  • Remake Ephemeral check to middleware
  • Remake CommandLog to middleware

[Task βš—] Scoped data service

Description

Create a scoped data service in order to share a single IUser instance around the scope without the need to pass user data to other services outside of command execution context

Goals

  • Create scoped data service service
  • Refactor services to use ICurrentUser service instead of passed around IUser from interaction context

Related tasks

[Task βš—] Refactoring

Description

Since the recent refactor of repositories, the Ticket repository hasn't been refactored yet.
We should convert it to the abstract repository.

The result should have a pattern like other repositories

Goals

  • Refactor TicketRepository
  • Verify if refactored repository works properly

Related tasks

[Task βš—] Investigate which GC we should use

Description

Test whether the Server or the Workstation options works better for GC.

Goals

  • Determine what factors we take into the consideration when determining which option is "better"
  • Investigate
  • Change the setting

[Task βš—] Repository refactor

Description

Unify repositories to use the common IRepository interface in order to increase the abstraction of code

Goals

  • Refactor repositories

[Task βš—] Add utilities

Description

Create Console.Table utility and create folder for utilities

Goals

  • Create utilities folder
  • Create Console.Table method

[Task βš—] Invite button

Description

Put Add to Server button to Huppy card

Example:
img

Goals

  • Add invite button to Huppy card
  • Make it disablable (either hardcode for now or add property in config)

[BUG πŸ›] Server bugs

Describe the bug

Huppy once joins the server doesn't add the server, doesn't add it later either
Huppy still registers debug commands and keeps the duplicates

Expected behavior

Huppy ensures the server he's in, gets added to database.
Huppy on deployment doesn't duplicate commands registered to debug guilds

[Task βš—] Memory leaks

Description

Investigate for memory leaks in commands, /debug info seems to keep increasing RAM and not releasing it

Goals

  • Find memory leaks
  • Solve memory leaks

[Task βš—] Webhook

Description

Implement Discord <=> github webhook

Goals

  • Create webhook
  • Apply it to discord

[Task βš—] Beta Servers saving

Description

Switch beta server to database entry as boolean property of Server model instead of saving them in appsettings.json

Goals

  • Switch beta commands to database entry as boolean property of Server model

[BUG πŸ›] Ephemeral commands problem

Describe the bug

Ephemeral messages (like /reminder time or /reminder date) are not hidden

To Reproduce

Steps to reproduce the behavior:

  1. Use an ephemeral command like /reminder time

Expected behavior

Ephemeral commands should be hidden and visible to user only

Screenshots

example

Research Scope creation of Interaction Framework

Description

Creating own scope before Interaction Framework creates one internally opens many new options, like middleware

Tasks

  • Find the possibility of creating shared service scope before command execution
  • Implement it

[Task βš—] Developer Precondition

Description

Create developer precondition to allow developers to use development exclusive commands / debug commands

Look up this

Goals

  • Add Developer ID list to appsettings (like debug servers)
  • Load developer IDs from appsettings
  • Store developer list in CacheService
  • Create Developer Precondition

[Task βš—] Automation scripts

Description

Create automated build and testing scripts, for both Linux and Windows OS

Goals

  • Create a Migration script
  • Create Build Deploy script
  • Create test start script

Related tasks

[Task βš—] Rate limiting

Description

Research the topic of Rate Limiting of Discord API and implement proper limiters to prevent getting either banned or blocked.
Verify if discord.net lib doesn't have one already implemented

Goals

  • Research Rate Limits of discord
  • Eventually implement Rate Limiter

[Task βš—] Error message templates

Description

Modify the error template to be more eye-pleasing, also reconsider displaying Exceptions (internal)

//...
case InteractionCommandError.Exception:
    embed.WithTitle("Command exception");
    embed.WithDescription(result.ErrorReason);
    await context.Interaction.ModifyOriginalResponseAsync((msg) => msg.Embed = embed.Build());
    break;      
//...       

Goals

  • Modify Template
  • Remove error icon
  • Implement Exception handler with proper message after reconsideration

[Task βš—] Unified Embed System

Description

Create more accurate service wrappers around repositories to eliminate using repositories directly in commands

Goals

  • List services that require more wrapping
  • Implement methods that solve repository tasks in commands

Remake Commands to Modals

Modals API provides a really good and comfortable UI for user input, implementing it will be significant improvement

Tasks

  • Convert /embed command to use modals
  • Convert /ticket create command to use modals

[BUG πŸ›] Command Usage might show incorrect numbers

Describe the bug

Investigate how Huppy counts AI usage and Command count per user

To Reproduce

Steps to reproduce the behavior:

  1. Use /ai stats
  2. Use /ai chat command and the count should increase
  3. Use /whoami
  4. Use any command and the count should increase

Expected behavior

  • /ai stats should display the number of AI conversations
  • /whoami should display the number of commands used overall

Additional context

This bug might be contained inside queries of CommandLogRepository.GetAiUsage

[Task βš—] Investigate which GC we should use

Description

Test whether the Server or the Workstation options works better for GC.

Goals

  • Determine what factors we take into the consideration when determining which option is "better"
  • Investigate
  • Change the setting

[Task βš—] Config

Description

Start using IConfiguration and bind values to appropriate value object

Goals

  • Remake configuration

Related tasks

[Task βš—] Resource monitor

Description

Finish implementation of debug resource monitor command.
Maybe in future include charts for command statistics

Goals

  • Include CPU usage
  • Include RAM usage
  • Include the Number of shards
  • Include Uptime
  • Include Avg execution time of command in the last 6 hours
  • Include bot version

Related tasks

[Task βš—] Middleware implementations

Description

Convert command handler methods to middleware

Goals

  • Implement command log middleware
  • Implement CurrentUserMiddleware (#16 )
  • Implement Missing user/server data middleware

Related tasks

[Task βš—] Separate Loggers

Description

Consider separating logging and the implementations, making logging event-based.
Event subscription should appear in Creator.cs and services / commands should have events in places where the logging could appear.

Task is open for suggestions

Goals

  • Replace logging with events
  • Subscribe logging methods to events

[Task βš—] Activity updater

Description

Create a service that will change the activity of Huppy to one of the implemented handlers in some configurable timespan

Goals

  • Add activity changer service
  • Add job to change activity after some period of time
  • Make it configurable

[Task βš—] Architecture

Description

Improve Huppy architecture to be based on ASP.NET N-layer / DDD architecture

Goals

  • Modify the current architecture

[Task βš—] Intents

Description

Change intents to disable GatewayIntents.GuildMessages subscription to gateway event, we do not require as for now to listen for every message.

Goals

  • Change intents

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.