Commit Graph

68 Commits

Author SHA1 Message Date
Kwoth
e70a91ae60 Fixed images not automatically reloading on startup if the keys don't exist 2021-09-17 17:10:38 +02:00
Kwoth
71da4d11c0 - Removed static color fields
- Removed unused code
- BanTemplate will get error color from bot config
2021-09-06 21:34:52 +02:00
Kwoth
0fc5f540d8 - Added Cloneable deep clone source generator nuget package
- Configs are no cloned using generated clone, not by serializing/deserializing
- Arrays/Lists (collections in geneeral) are still not cloned properly
- Removed GetRawData from config as it is no longer needed, new clone is very fast
- Added ICloneable<T> which all configs implement
- Cleaned up config classes/code
2021-09-06 21:34:50 +02:00
Kwoth
a8a4c9fb44 - NoPublicBotAttribute will now be properly ignored when built with GlobalNadeko configuration
- Added ILogCommandsService which will have dummy implementation on public bot, this means Logging Commands will be present on public bot to pull up help etc
- When .ve is enabled, NoPublicBot commands will show a nicer error message with link to selfhosting guide (thx ene)
- Fixed xp gain and .xp command not working on new users
- General cleanup
2021-09-06 21:34:50 +02:00
Kwoth
fd35d3a836 - Cleaned up completed todos
- Config Data won't be copied every time it's accessed now, but YamlDotNet doesnt' support records, so data is dangerously mutable, needs solution
2021-09-06 21:34:50 +02:00
Kwoth
4c0c3c9228 Refactored typereaders to use DI instead of getting services manually 2021-09-06 21:34:50 +02:00
Kwoth
3cc34bfdc3 Changed all .GetService to .GetRequiredService because no service should be ever missing. However most of these should be removed in one of the future patches. 2021-09-06 21:34:50 +02:00
Kwoth
65b4c1fab7 - Owner only attributes will now use fresh creds every time (no need for restart for owner only commands to start working once creds are changed)
- setgame/setstream use the new pubsub (also setstream will actually apply to all shards now)
- setgame/setstream moved to SelfService
- small cleanup
2021-09-06 21:34:49 +02:00
Kwoth
873eaa290e - fixed remote coordinator being initialized when local one is supposed to be used
- Fixed services loading multiple times
- cleaned up service adding with scrutor
- INService moved from some interfaces to concrete implementation
2021-09-06 21:34:49 +02:00
Kwoth
9f34f8f00f Don't load executor behaviors as a dep, but initialize after all services are loaded. Experimenting on services 2021-09-06 21:34:49 +02:00
Kwoth
3c82c1f919 - Started cleanup of command handler
- Removed IUnloadableService
- Started removing INService (removed it from services which implement behavior interfaces) - wip
- Added scrutor for better service registration - wip
2021-09-06 21:34:49 +02:00
Kwoth
1e90d7f7bb Small cleanup - fixed some namespaces and moved files 2021-09-06 21:34:49 +02:00
Kwoth
670b0aca96 - Bot now takes shard id (optional) and total shards (optional) command line arguments (changed from shard id and parent process id)
- Sharding with coordinator now works properly
- Documented creds.yml RestartCommand - it has no effect when coordinator is starting the bot
- Regenerated creds_example.yml
- Removed all db migrators as the v3 requires the user to have updated 2.x all the way
- TotalShards in creds.yml gets overriden by coord.yml's TotalShards if the bot is ran through coordinator (more precisely, by the command line argument to the bot)
- Coordinator now runs on http://localhost:3442 by default, you can change this in appsettings.json
    - This is done because of macos https issues
    - Primarily because https for regular users is a massive hassle. Coordinator shouldn't be exposed anyway
- Minor cleanup
2021-09-06 21:34:49 +02:00
Kwoth
a1ef862382 - small bot.cs cleanup
- creds.yml now loads and reloads properly (from the current directory, like credentials.json)
- added empty creds.yml to repo, and added it to .gitignore
2021-09-06 21:34:49 +02:00
Kwoth
16dd398aa0 - Credentials are now loading from creds.yml
- Removed/commented out obsolete credentials code
- Added missing properties to creds.yml
- Updated README.md with some tasks and progress
2021-09-06 21:34:49 +02:00
Kwoth
49f9b96755 One of the last major cleanups. All NadekoBot.Core.* namespaces renamed to NadekoBot.* 2021-09-06 21:34:48 +02:00
Kwoth
44fdd4ff23 Added ICoordinator for bots which arent' sharded (the ones which won't be using NadekoBot.Coordinator) 2021-09-06 21:34:47 +02:00
Kwoth
c86bf6f300 - NadekoBot class renamed to Bot
- Implemented grpc based coordinator. Supports restarting, killing single or all shards, as well as getting current shard statuses. (Adaptation of the one used by the public bot)
- Coord is setup via coord.yml file
- Methods from SelfService which deal with shard/bot restart etc have been moved to ICoordinator (with GrpcRemoteCoordinator being the default implementation atm)
- Vastly simplified NadekoBot/Program.cs
2021-09-06 21:34:46 +02:00