- 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 IMessageChannel extensions for sending smarttext
- Added implicit operator from string to smarttext (which just creates smartplaintext instance)
- 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