Commit Graph

49 Commits

Author SHA1 Message Date
Kwoth
01cc6e52d5 Enabled client log everywhere which could hopefully print login errors 2022-03-03 01:42:22 +01:00
Kwoth
c903bc9003 Added one more log line to pinpoint the login hang 2022-03-03 01:33:05 +01:00
Kwoth
323699d103 Small change to Bot.cs to pinpoint the logging in hang issue 2022-03-03 01:13:49 +01:00
Kwoth
578b7fefb4 Slightly reorganized commands in Xp module to make more sense - no functional change 2022-02-26 08:28:44 +01:00
Kwoth
e194155689 Don't cache any messages on public nadeko 2022-02-08 20:17:17 +01:00
Kwoth
eda38e64d1 Added many more braces for multiline if's, Improved .crypto command quite a bit and applied locale-specific format 2022-02-04 06:00:17 +01:00
Kwoth
ffa2c3f119 Updated editorconfig to (mostly?) require braces around if/else statements, and applied the new formatting rules 2022-02-02 01:44:45 +01:00
Kwoth
d31cfcc5a8 - Updated changelog
- Updated all projects to .net6
- Added some exception handling to the cmd source generator
2022-02-01 08:52:40 +01:00
Kwoth
b044eb2d9a - Ignored intent warnings on startup
- Moved FilterWordsChannelId to a separate table (needs testing)
- Some todos updated
2022-01-10 14:18:34 +01:00
Kwoth
2ce3262d59 Fixed around 140 wrong namings and other refactorings which were marked as warnings 2022-01-08 11:51:41 +01:00
Kwoth
51a396ec9f Logging should work on selfhosts, not public 2022-01-06 14:42:17 +01:00
Kwoth
9b4eb21321 Using pattern matching for nulls where applicable, discarded unused lambda parameters, cleaned up some classes. Unignored ServerLog commands which was mistakenly ignored due to a .gitignore rule 2022-01-01 08:44:51 +01:00
Kwoth
f81f9fadd3 Small refactor for ILogCommandService 2022-01-01 07:33:06 +01:00
Kwoth
25eeffa163 - Removed NadekoCommand and Aliases attribute from all commands
- All commands must be marked as partial
- Added [Cmd] Attribute to all commands
- Cmd Attribute comes from the source generator which adds [NadekoCommand] and [Aliases] Attribute to each command
- Should be updated in the future probably to be more performant and maybe add extra data to the commands
- Started reorganizing modules and submodules
2021-12-31 16:05:30 +01:00
Kwoth
82000c97a4 Applied codestyle to all .cs files 2021-12-29 06:07:16 +01:00
Kwoth
723447c7d4 - Updated editorconfig rules to hopefully look a bit nicer.
- Removed configureawait(false) from everywhere as it doesnt' do anything in a console app and just makes the code look ugly
- Started using .WhenAll extension instead of Task.WhenAll to make it look nicer when chaining methods
2021-12-28 21:14:40 +01:00
Kwoth
59f5056035 NadekoBot.Extensions should now be fully annotated with nullable reference types as well as many classes from NadekoBot.Common 2021-12-28 10:44:00 +01:00
Kwoth
d5fd6aae8e - More code cleanup and codestyle updates
- Fixed some possible nullref exceptions
- Methods signatures now have up to 3 parameters before breakaing down each parameter in a separate line
- Method invocations have the same rule, except the first parameter will be in the same line as the invocation to prevent some ugliness when passing lambas as arguments
- Applied many more codestyles
- Extensions folder fully reformatted
2021-12-26 17:28:39 +01:00
Kwoth
d18f9429c6 Kotz's editorconfig styles slightly modified. Target typed new usage. Brackets in expressions used for clarity. 2021-12-26 02:52:09 +01:00
Kwoth
594a3b1f97 Removed some obsolete commands and strings 2021-12-23 20:58:39 +01:00
Kwoth
da849f7c7b global using NadekoBot.Extensions 2021-12-23 08:04:00 +07:00
Kwoth
93b8bca018 Switch to discord.net 3.0.0 2021-12-23 08:02:23 +07:00
Kwoth
c66e491ce9 Implicit usings and more global usings 2021-12-21 02:36:47 +01:00
Kwoth
9223d78849 Removed redundant parenthesis 2021-12-20 03:54:30 +01:00
Kwoth
da2ee0c158 await usings and minor cleanup 2021-12-20 03:02:02 +01:00
Kwoth
1b2017024c More target-typed new and redundant paranthesis cleanup 2021-12-20 00:33:11 +01:00
Kwoth
ee33313519 Global usings and file scoped namespaces 2021-12-19 05:14:11 +01:00
Kwoth
3c0768a372 .atl / .at reworked 2021-12-13 19:28:22 +01:00
Kwoth
219ca39cd1 Added .coordreload which will reload coord.yml when using NadekoBot.Coordinator
- bots with more than 1 shard will now use redis strings provider
2021-12-01 09:41:23 +01:00
Kwoth
06c20c6fa4 Patreon Access and Refresh Tokens should now be automatically updated 2021-11-17 18:45:49 +00:00
Kwoth
d090aa23ee Slots redesign nad images moved to images.yml 2021-11-03 14:22:51 +00:00
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