Page MenuHomeAITSYS Dev

[Core] Net Hosting & Configuration implementation
Open, NormalPublic


Implemenation of Hosting & Configuration

See PR for details

Event Timeline

aiko created this object with edit policy "DisCatSharp (Project)".

In my opinion you'll want to separate functionality by packages as you've done with Interactivity and what not.


As a developer I want to use IConfiguration to load any config settings. Once configuration "works" you could automatically add an extension such as interactivity if it detects that config section. I strongly urge IConfiguration implementation as it would allow users to modify a json file and restart versus making a code change for something trivial.


I don't believe creating a new "client" class is totally necessary as we can create a wrapper for DiscordClient which implements BackgroundService aka IHostedService

For configuration purposes I suggest having an overall keyname of DisCatSharp with all extensions located within.

"DisCatSharp": {
     "Discord": {
         "Token": "asdfasdfasdfasdf",
         "HttpTimeout": "00:10:00"   // HH:mm:ss

    "Interactivity": {
          // stuff here

Avoid making an opinionated approach towards dependency injection. The fancy extension methods will come in the form of opt-in nuget packages. As a result, you should list all the things a developer needs to add to IServiceProvider, if any, for this to run properly.


Developers should be able to pick and choose their DI approach.... by convention this package would utilize Microsoft's approach. For something such as Autofac you'd name it


aiko renamed this task from [Core] Net Hosting implementation to [Core] Net Hosting & Configuration implementation.Mon, Oct 4, 06:45
aiko reassigned this task from Geferon to Badger_2-3.
aiko moved this task from Backlog to Features on the DisCatSharp board.
aiko updated the task description. (Show Details)
aiko updated the task description. (Show Details)
aiko added a subscriber: Geferon.