huebyte / huppy Goto Github PK
View Code? Open in Web Editor NEWHuppy the discord multipurpose bot
License: MIT License
Huppy the discord multipurpose bot
License: MIT License
Creating own scope before Interaction Framework creates one internally opens many new options, like middleware
Start using IConfiguration
and bind values to appropriate value object
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
Create Console.Table
utility and create folder for utilities
utilities
folderConsole.Table
methodModals API provides a really good and comfortable UI for user input, implementing it will be significant improvement
/embed
command to use modals/ticket create
command to use modalsCreate a service that will change the activity of Huppy to one of the implemented handlers in some configurable timespan
Test whether the Server
or the Workstation
options works better for GC.
Create GitHub workflow jobs/actions to improve the deployment/development process
Modify the error template to be more eye-pleasing, also reconsider displaying Exception
s (internal)
//...
case InteractionCommandError.Exception:
embed.WithTitle("Command exception");
embed.WithDescription(result.ErrorReason);
await context.Interaction.ModifyOriginalResponseAsync((msg) => msg.Embed = embed.Build());
break;
//...
Exception
handler with proper message after reconsiderationUpdate user data on Presence Update
Change the design of Help command
There are too many repeating parts of server creation, create a service for them
Finish implementation of debug resource monitor command.
Maybe in future include charts for command statistics
6
hoursChange GPT request params
Removed injected unused services
Create documentation for Huppy code flow, for UML using excalidraw would be good
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
ICurrentUser
service instead of passed around IUser
from interaction contextResearch 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
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
Huppy ensures the server he's in, gets added to database.
Huppy on deployment doesn't duplicate commands registered to debug guilds
Create developer precondition to allow developers to use development exclusive commands / debug commands
Look up this
CacheService
Create more accurate service wrappers around repositories to eliminate using repositories directly in commands
Prepare branch and commit namings file, preferably CONTRIB
Do not log SQL queries at information
log level
Investigate for memory leaks in commands, /debug info
seems to keep increasing RAM and not releasing it
Migrated Huppy to hosted service, current style makes migrations problematic and is not suited to ASP.NET design which huppy tries to base on
Create email notification when huppy is down or is starting
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
TicketRepository
Implement Discord <=> github webhook
Switch beta server to database entry as boolean property of Server
model instead of saving them in appsettings.json
Server
modelCreate automated build and testing scripts, for both Linux and Windows OS
Improve Huppy architecture to be based on ASP.NET N-layer / DDD architecture
Put items in proper folders
Utilities
folderUnify repositories to use the common IRepository
interface in order to increase the abstraction of code
Create middlewares system to command handler
Investigate how Huppy counts AI usage and Command count per user
Steps to reproduce the behavior:
/ai stats
/ai chat
command and the count should increase/whoami
/ai stats
should display the number of AI conversations/whoami
should display the number of commands used overallThis bug might be contained inside queries of CommandLogRepository.GetAiUsage
Implement Huppy versioning, each release should iterate the version via semantic versioning
Test whether the Server
or the Workstation
options works better for GC.
Change intents to disable GatewayIntents.GuildMessages
subscription to gateway event, we do not require as for now to listen for every message.
Change Bot Uptime format in /debug info
command field to better looking one (up to task taker)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.