Fixed a nullref message when the bot is loading medusae. Added support for multiple embeds in features which support custom embeds in the form of

{plainText:text-here, embeds: [embedObject, embedObject, embedObject]}
This commit is contained in:
Kwoth
2022-04-17 09:58:30 +02:00
parent 29d94640af
commit 18400dc53a
10 changed files with 104 additions and 23 deletions

View File

@@ -1,4 +1,5 @@
using Cloneable;
#nullable enable
using Cloneable;
using NadekoBot.Common.Yml;
namespace Nadeko.Medusa;
@@ -10,7 +11,7 @@ public sealed partial class MedusaConfig : ICloneable<MedusaConfig>
public int Version { get; set; } = 1;
[Comment("List of medusae automatically loaded at startup")]
public List<string> Loaded { get; set; }
public List<string>? Loaded { get; set; }
public MedusaConfig()
{

View File

@@ -18,7 +18,7 @@ public sealed class MedusaConfigService : ConfigServiceBase<MedusaConfig>, IMedu
}
public IReadOnlyCollection<string> GetLoadedMedusae()
=> Data.Loaded.ToList();
=> Data.Loaded?.ToList() ?? new List<string>();
public void AddLoadedMedusa(string name)
{
@@ -26,6 +26,9 @@ public sealed class MedusaConfigService : ConfigServiceBase<MedusaConfig>, IMedu
ModifyConfig(conf =>
{
if (conf.Loaded is null)
conf.Loaded = new();
if(!conf.Loaded.Contains(name))
conf.Loaded.Add(name);
});
@@ -37,6 +40,9 @@ public sealed class MedusaConfigService : ConfigServiceBase<MedusaConfig>, IMedu
ModifyConfig(conf =>
{
if (conf.Loaded is null)
conf.Loaded = new();
conf.Loaded.Remove(name);
});
}