- 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
- 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
- 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
- Bot now sends dm help text ONLY if the message contains one of the keywords specified
- If no keywords are specified, bot will reply to every DM (like before)
- Fixed several commands which used error color for success confirmation messages
- 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
- 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
- Added credentials.json -> creds.yml migration
- Migrated credentials.json fields are:
- Token
- OwnerIds
- GoogleApiKey
- OsuApiKey
- CleverbotApiKey
- TotalShards (although you should set this from Coordinator's coord.yml TotalShards, so this setting will usually have no effect)
- PatreonAccessToken and PatreonCampaignId
- VotesUrl and VotesToken
- BotListToken
- RedisOptions
- LocationIqApiKey and TimezoneDbApiKey
- CoinmarketcapApiKey
- Added IMessageChannel extensions for sending smarttext
- Added implicit operator from string to smarttext (which just creates smartplaintext instance)