Updated discord.net library to version 3.14.1. Added method in SettingsDictionary to bulk check if keys are in dictionary.
This commit is contained in:
@@ -33,9 +33,7 @@
|
|||||||
<None Remove="builder.sh" />
|
<None Remove="builder.sh" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Discord.Net" Version="3.11.0" />
|
<PackageReference Include="Spectre.Console" Version="0.49.1" />
|
||||||
<PackageReference Include="pythonnet" Version="3.0.1" />
|
|
||||||
<PackageReference Include="Spectre.Console" Version="0.47.0" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\PluginManager\PluginManager.csproj" />
|
<ProjectReference Include="..\PluginManager\PluginManager.csproj" />
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public partial class HomePage : Window
|
|||||||
{
|
{
|
||||||
await Config.Initialize();
|
await Config.Initialize();
|
||||||
|
|
||||||
if(string.IsNullOrWhiteSpace(Config.AppSettings["token"]) || string.IsNullOrWhiteSpace(Config.AppSettings["prefix"]))
|
if(!Config.AppSettings.ContainsAllKeys("token", "prefix"))
|
||||||
{
|
{
|
||||||
await new SettingsPage().ShowDialog(this);
|
await new SettingsPage().ShowDialog(this);
|
||||||
|
|
||||||
|
|||||||
132
PluginManager/Others/OneOf.cs
Normal file
132
PluginManager/Others/OneOf.cs
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace PluginManager.Others
|
||||||
|
{
|
||||||
|
public class OneOf<T0, T1>
|
||||||
|
{
|
||||||
|
public T0 Item0 { get; }
|
||||||
|
public T1 Item1 { get; }
|
||||||
|
|
||||||
|
public OneOf(T0 item0)
|
||||||
|
{
|
||||||
|
Item0 = item0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OneOf(T1 item1)
|
||||||
|
{
|
||||||
|
Item1 = item1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator OneOf<T0, T1>(T0 item0) => new OneOf<T0, T1>(item0);
|
||||||
|
public static implicit operator OneOf<T0, T1>(T1 item1) => new OneOf<T0, T1>(item1);
|
||||||
|
|
||||||
|
public void Match(Action<T0> item0, Action<T1> item1)
|
||||||
|
{
|
||||||
|
if (Item0 != null)
|
||||||
|
item0(Item0);
|
||||||
|
else
|
||||||
|
item1(Item1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TResult Match<TResult>(Func<T0, TResult> item0, Func<T1, TResult> item1)
|
||||||
|
{
|
||||||
|
return Item0 != null ? item0(Item0) : item1(Item1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class OneOf<T0, T1, T2>
|
||||||
|
{
|
||||||
|
public T0 Item0 { get; }
|
||||||
|
public T1 Item1 { get; }
|
||||||
|
public T2 Item2 { get; }
|
||||||
|
|
||||||
|
public OneOf(T0 item0)
|
||||||
|
{
|
||||||
|
Item0 = item0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OneOf(T1 item1)
|
||||||
|
{
|
||||||
|
Item1 = item1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OneOf(T2 item2)
|
||||||
|
{
|
||||||
|
Item2 = item2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator OneOf<T0, T1, T2>(T0 item0) => new OneOf<T0, T1, T2>(item0);
|
||||||
|
public static implicit operator OneOf<T0, T1, T2>(T1 item1) => new OneOf<T0, T1, T2>(item1);
|
||||||
|
public static implicit operator OneOf<T0, T1, T2>(T2 item2) => new OneOf<T0, T1, T2>(item2);
|
||||||
|
|
||||||
|
public void Match(Action<T0> item0, Action<T1> item1, Action<T2> item2)
|
||||||
|
{
|
||||||
|
if (Item0 != null)
|
||||||
|
item0(Item0);
|
||||||
|
else if (Item1 != null)
|
||||||
|
item1(Item1);
|
||||||
|
else
|
||||||
|
item2(Item2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TResult Match<TResult>(Func<T0, TResult> item0, Func<T1, TResult> item1, Func<T2, TResult> item2)
|
||||||
|
{
|
||||||
|
return Item0 != null ? item0(Item0) : Item1 != null ? item1(Item1) : item2(Item2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class OneOf<T0, T1, T2, T3>
|
||||||
|
{
|
||||||
|
public T0 Item0 { get; }
|
||||||
|
public T1 Item1 { get; }
|
||||||
|
public T2 Item2 { get; }
|
||||||
|
public T3 Item3 { get; }
|
||||||
|
|
||||||
|
public OneOf(T0 item0)
|
||||||
|
{
|
||||||
|
Item0 = item0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OneOf(T1 item1)
|
||||||
|
{
|
||||||
|
Item1 = item1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OneOf(T2 item2)
|
||||||
|
{
|
||||||
|
Item2 = item2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public OneOf(T3 item3)
|
||||||
|
{
|
||||||
|
Item3 = item3;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static implicit operator OneOf<T0, T1, T2, T3>(T0 item0) => new OneOf<T0, T1, T2, T3>(item0);
|
||||||
|
public static implicit operator OneOf<T0, T1, T2, T3>(T1 item1) => new OneOf<T0, T1, T2, T3>(item1);
|
||||||
|
public static implicit operator OneOf<T0, T1, T2, T3>(T2 item2) => new OneOf<T0, T1, T2, T3>(item2);
|
||||||
|
public static implicit operator OneOf<T0, T1, T2, T3>(T3 item3) => new OneOf<T0, T1, T2, T3>(item3);
|
||||||
|
|
||||||
|
public void Match(Action<T0> item0, Action<T1> item1, Action<T2> item2, Action<T3> item3)
|
||||||
|
{
|
||||||
|
if (Item0 != null)
|
||||||
|
item0(Item0);
|
||||||
|
else if (Item1 != null)
|
||||||
|
item1(Item1);
|
||||||
|
else if (Item2 != null)
|
||||||
|
item2(Item2);
|
||||||
|
else
|
||||||
|
item3(Item3);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TResult Match<TResult>(Func<T0, TResult> item0, Func<T1, TResult> item1, Func<T2, TResult> item2, Func<T3, TResult> item3)
|
||||||
|
{
|
||||||
|
return Item0 != null ? item0(Item0) : Item1 != null ? item1(Item1) : Item2 != null ? item2(Item2) : item3(Item3);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -56,6 +56,11 @@ public class SettingsDictionary<TKey, TValue>
|
|||||||
_Dictionary.Add(key, value);
|
_Dictionary.Add(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool ContainsAllKeys(params TKey[] keys)
|
||||||
|
{
|
||||||
|
return keys.All(key => _Dictionary.ContainsKey(key));
|
||||||
|
}
|
||||||
|
|
||||||
public bool ContainsKey(TKey key)
|
public bool ContainsKey(TKey key)
|
||||||
{
|
{
|
||||||
return _Dictionary.ContainsKey(key);
|
return _Dictionary.ContainsKey(key);
|
||||||
|
|||||||
@@ -12,8 +12,7 @@
|
|||||||
<None Remove="BlankWindow1.xaml" />
|
<None Remove="BlankWindow1.xaml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Discord.Net" Version="3.11.0" />
|
<PackageReference Include="Discord.Net" Version="3.14.1" />
|
||||||
<PackageReference Include="Spectre.Console" Version="0.47.0" />
|
|
||||||
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.118" />
|
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.118" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user