Commit Graph

56 Commits

Author SHA1 Message Date
Kwoth
0ef2da6f10 Reworked currency service. Some features are missing 2022-01-20 13:22:38 +01:00
Kwoth
17cdd6f893 Fixed compile error 2022-01-10 09:58:59 +01:00
Kwoth
f07a855912 More common refactorings like renaming variables, removing empty statements and unused variables, etc 2022-01-09 16:46:08 +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
3aa6a54b6e - Renamed CustomReaction model to NadekoExpression
- Used structured logging everywhere
2022-01-04 07:35:55 +01:00
Kwoth
ca9fa1b0ac - Renamed Prefix to prefix
- Updated some command string keys which were using command name to use method names now
2022-01-02 16:52:39 +01:00
Kwoth
4b6af0e4ef Fixed some crashes in response strings source generator, reorganized more submodules into their folders 2022-01-02 03:49:54 +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
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
d093f7eed7 Small bugfix in hangman, thx ala 2021-12-28 19:32:57 +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
1b0392dfab Added and applied styles for private readonly fields, private fields to Extensions and Common folders.
- Some renamings and code cleanups
- Chained method calls, binary expressions and binary patterns will now break into newlines
- Type param constraints and base constructor calls will be on the new line
2021-12-27 03:46:30 +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
b85ba177cd Using declarations and other code reformats 2021-12-26 03:22:45 +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
da849f7c7b global using NadekoBot.Extensions 2021-12-23 08:04:00 +07:00
Kwoth
0b8c3b3f2b Using humanizer to deal with time and string trimming in some cases. Removed unused methods. Currency output format improvement (will use guild locale now for some commands) 2021-12-21 05:16:53 +01:00
Kwoth
c66e491ce9 Implicit usings and more global usings 2021-12-21 02:36:47 +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
cd379fd308 vars and target-typed new 2021-12-20 00:15:39 +01:00
Kwoth
ee33313519 Global usings and file scoped namespaces 2021-12-19 05:14:11 +01:00
Kwoth
b2fafc964f Merge branch 'v3' into 'v3'
Move plant/pick where they belong

See merge request Kwoth/nadekobot!178
2021-11-21 01:08:46 +00:00
Kwoth
06c20c6fa4 Patreon Access and Refresh Tokens should now be automatically updated 2021-11-17 18:45:49 +00:00
Yuno Gasai
717543f6c2 Move plant/pick where they belong 2021-10-19 09:28:55 -04:00
Kwoth
ff95b3d00f - .streamsclear re-added. It will remove all followed streams on the server.
- .gifts now have 3 new ✂️ Haircut 🧻 ToiletPaper and 🥀 WiltedRose which **reduce** waifu's value
- Added a new multiplier (waifu.multi.negative_gift_effect default 0.5, changeable via .config gambling or data/gambling.yml)
2021-09-30 08:53:15 +02:00
Kwoth
486916944b Hangman Rewrite 2021-09-27 02:00:19 +00:00
Kwoth
786ede3290 Added .config games hangman.currency_reward and a property with the same name in games.yml 2021-09-15 01:50:48 +02:00
Kwoth
919bedeae6 Changed (almost) all responses to make them use the new system instead of raw strings
- Fixed many invalid string keys
2021-09-06 21:34:53 +02:00
Kwoth
4484732f5d - Fixed counting parameters which have formats in response strings
- Almost finished porting localized string keys as methods
- Compiles
2021-09-06 21:34:53 +02:00
Kwoth
0115d35247 WIP: rework of localized strings, instead of generic LocStr, LocStr is now a struct which contains both the key, and the values which should be put into the value's placeholders. strs' properties are now methods which take values as arguments, and properties if they don't 2021-09-06 21:34:53 +02:00
Kwoth
9d375dccee wip strings rework, experimenting, nothing works 2021-09-06 21:34:52 +02:00
Kwoth
70288f7670 Second iteration of source generated localized strings
- Strs renamed to strs
- Generic params will now default to object instead of string for convenient argument passing
- Many strings changed to use generated properties
2021-09-06 21:34:52 +02:00
Kwoth
34d0f66466 - Added NadekoBot.Generators projects which will contain source generators
- Implemented initial version of the response strings source generator
  - Creates a class with property names equivalent to key names in responses.en-US.json
  - Each Property has struct type (with generic type parameters matching the number of string format placeholders) for type safe GetText implementation
  - Struct types are readonly refs as they should be ephermal, and only used to pass string keys to GetText
2021-09-06 21:34:52 +02:00
Kwoth
5d9320941a Added fixes from 1.9 branch:
- Custom reaction permission error fix
- Local tracks .lq fix after they're loaded from playlist
- Fixed some response strings
2021-09-06 21:34:52 +02:00
Kwoth
42d623b696 Replaced access to .Context with .ctx 2021-09-06 21:34:52 +02:00
Kwoth
5e4754fa40 - Reworked embed builder
- Use IEmbedBuilderService to create embed builders
- Wrapped embed builder and using IEmbedBuilder
2021-09-06 21:34:51 +02:00
Kwoth
5b4daa9dd3 All .AddField calls no longer use builder
- Cleaned up convertlist and listserver embeds slightly
2021-09-06 21:34:50 +02:00
Kwoth
a17d0afc7d all calls to .WithAuthor and .WithFooter no longer use their respective builders 2021-09-06 21:34:50 +02:00
Kwoth
cbecd823c1 Cleaned up embedbuilder calls to use parameters instead of footer builder 2021-09-06 21:34:50 +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
aeb6f8662c Early behavior fixups:
- Priorities are now higher number -> higher priority
- Priorities are now actually respected
- Early behaviors now print custom messages when they perform an action (Filter trigger, blacklist, poll vote, etc)
- small cleanup
2021-09-06 21:34:50 +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
656db01aca - removed unused attributes on commands
- Removed some commented out files
2021-09-06 21:34:48 +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
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
Kwoth
d8c7cdc7f4 Changed all == null to is null and all !(* == null) to * is not null 2021-09-06 21:34:44 +02:00