Gambling moved to a separate project. Project builds

This commit is contained in:
Kwoth
2023-03-18 18:36:04 +01:00
parent db2328cdaf
commit 09171fb10a
361 changed files with 532 additions and 476 deletions

View File

@@ -35,13 +35,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Common", "src\Nadeko
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Econ", "src\Nadeko.Econ\Nadeko.Econ.csproj", "{4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Econ", "src\Nadeko.Econ\Nadeko.Econ.csproj", "{4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NadekoBot.Modules.Expresssions", "src\NadekoBot.Modules.Expresssions\NadekoBot.Modules.Expresssions.csproj", "{92E239B9-C230-4475-9506-BED20174FD20}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Expresssions", "src\Nadeko.Bot.Modules.Expresssions\Nadeko.Bot.Modules.Expresssions.csproj", "{92E239B9-C230-4475-9506-BED20174FD20}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Db", "src\Nadeko.Bot.Db\Nadeko.Bot.Db.csproj", "{02499E3E-3B04-4BC8-9B3C-D9494661F78E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Db", "src\Nadeko.Bot.Db\Nadeko.Bot.Db.csproj", "{02499E3E-3B04-4BC8-9B3C-D9494661F78E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Common", "src\Nadeko.Bot.Common\Nadeko.Bot.Common.csproj", "{02ABC10E-3323-4698-A388-C61D7D03797E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Common", "src\Nadeko.Bot.Common\Nadeko.Bot.Common.csproj", "{02ABC10E-3323-4698-A388-C61D7D03797E}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Generators.Cloneable", "src\Nadeko.Bot.Generators.Cloneable\Nadeko.Bot.Generators.Cloneable.csproj", "{A5E71EE3-786E-438C-95C0-5BC558FCECCF}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Gambling", "src\Nadeko.Bot.Modules.Gambling\Nadeko.Bot.Modules.Gambling.csproj", "{5F4F36A5-5874-4461-BB34-EE107E4B7F15}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -122,12 +122,12 @@ Global
{02ABC10E-3323-4698-A388-C61D7D03797E}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU {02ABC10E-3323-4698-A388-C61D7D03797E}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
{02ABC10E-3323-4698-A388-C61D7D03797E}.Release|Any CPU.ActiveCfg = Release|Any CPU {02ABC10E-3323-4698-A388-C61D7D03797E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{02ABC10E-3323-4698-A388-C61D7D03797E}.Release|Any CPU.Build.0 = Release|Any CPU {02ABC10E-3323-4698-A388-C61D7D03797E}.Release|Any CPU.Build.0 = Release|Any CPU
{A5E71EE3-786E-438C-95C0-5BC558FCECCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A5E71EE3-786E-438C-95C0-5BC558FCECCF}.Debug|Any CPU.Build.0 = Debug|Any CPU {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A5E71EE3-786E-438C-95C0-5BC558FCECCF}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
{A5E71EE3-786E-438C-95C0-5BC558FCECCF}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
{A5E71EE3-786E-438C-95C0-5BC558FCECCF}.Release|Any CPU.ActiveCfg = Release|Any CPU {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A5E71EE3-786E-438C-95C0-5BC558FCECCF}.Release|Any CPU.Build.0 = Release|Any CPU {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -146,7 +146,7 @@ Global
{92E239B9-C230-4475-9506-BED20174FD20} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2} {92E239B9-C230-4475-9506-BED20174FD20} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
{02499E3E-3B04-4BC8-9B3C-D9494661F78E} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2} {02499E3E-3B04-4BC8-9B3C-D9494661F78E} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
{02ABC10E-3323-4698-A388-C61D7D03797E} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2} {02ABC10E-3323-4698-A388-C61D7D03797E} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
{A5E71EE3-786E-438C-95C0-5BC558FCECCF} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2} {5F4F36A5-5874-4461-BB34-EE107E4B7F15} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5F3F555C-855F-4BE8-B526-D062D3E8ACA4} SolutionGuid = {5F3F555C-855F-4BE8-B526-D062D3E8ACA4}

View File

@@ -1,4 +1,6 @@
#nullable disable #nullable disable
using NadekoBot.Common;
namespace NadekoBot; namespace NadekoBot;
public interface IBotCredentials public interface IBotCredentials
@@ -9,14 +11,14 @@ public interface IBotCredentials
bool UsePrivilegedIntents { get; } bool UsePrivilegedIntents { get; }
string RapidApiKey { get; } string RapidApiKey { get; }
IDbOptions Db { get; } Creds.DbOptions Db { get; }
string OsuApiKey { get; } string OsuApiKey { get; }
int TotalShards { get; } int TotalShards { get; }
IPatreonSettings Patreon { get; } Creds.PatreonSettings Patreon { get; }
string CleverbotApiKey { get; } string CleverbotApiKey { get; }
string Gpt3ApiKey { get; } string Gpt3ApiKey { get; }
IRestartConfig RestartCommand { get; } RestartConfig RestartCommand { get; }
IVotesSettings Votes { get; } Creds.VotesSettings Votes { get; }
string BotListToken { get; } string BotListToken { get; }
string RedisOptions { get; } string RedisOptions { get; }
string LocationIqApiKey { get; } string LocationIqApiKey { get; }
@@ -26,7 +28,7 @@ public interface IBotCredentials
string CoordinatorUrl { get; set; } string CoordinatorUrl { get; set; }
string TwitchClientId { get; set; } string TwitchClientId { get; set; }
string TwitchClientSecret { get; set; } string TwitchClientSecret { get; set; }
IGoogleApiConfig Google { get; set; } GoogleApiConfig Google { get; set; }
BotCacheImplemenation BotCache { get; set; } BotCacheImplemenation BotCache { get; set; }
} }

View File

@@ -1,5 +1,4 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using NadekoBot.Modules.Administration.Services;
namespace Discord; namespace Discord;
@@ -21,7 +20,7 @@ public class UserPermAttribute : RequireUserPermissionAttribute
CommandInfo command, CommandInfo command,
IServiceProvider services) IServiceProvider services)
{ {
var permService = services.GetRequiredService<DiscordPermOverrideService>(); var permService = services.GetRequiredService<IDiscordPermOverrideService>();
if (permService.TryGetOverrides(context.Guild?.Id ?? 0, command.Name.ToUpperInvariant(), out _)) if (permService.TryGetOverrides(context.Guild?.Id ?? 0, command.Name.ToUpperInvariant(), out _))
return Task.FromResult(PreconditionResult.FromSuccess()); return Task.FromResult(PreconditionResult.FromSuccess());

View File

@@ -1,12 +1,14 @@
#nullable disable #nullable disable
using NadekoBot.Services;
namespace NadekoBot.Common.TypeReaders; namespace NadekoBot.Common.TypeReaders;
public sealed class CommandTypeReader : NadekoTypeReader<CommandInfo> public sealed class CommandTypeReader : NadekoTypeReader<CommandInfo>
{ {
private readonly CommandService _cmds; private readonly CommandService _cmds;
private readonly CommandHandler _handler; private readonly ICommandHandler _handler;
public CommandTypeReader(CommandHandler handler, CommandService cmds) public CommandTypeReader(ICommandHandler handler, CommandService cmds)
{ {
_handler = handler; _handler = handler;
_cmds = cmds; _cmds = cmds;

View File

@@ -47,16 +47,16 @@ public sealed class Creds : IBotCredentials
Do all steps again but enable image search for the ImageSearchId Do all steps again but enable image search for the ImageSearchId
""")] """)]
public IGoogleApiConfig Google { get; set; } public GoogleApiConfig Google { get; set; }
[Comment("""Settings for voting system for discordbots. Meant for use on global Nadeko.""")] [Comment("""Settings for voting system for discordbots. Meant for use on global Nadeko.""")]
public IVotesSettings Votes { get; set; } public VotesSettings Votes { get; set; }
[Comment(""" [Comment("""
Patreon auto reward system settings. Patreon auto reward system settings.
go to https://www.patreon.com/portal -> my clients -> create client go to https://www.patreon.com/portal -> my clients -> create client
""")] """)]
public IPatreonSettings Patreon { get; set; } public PatreonSettings Patreon { get; set; }
[Comment("""Api key for sending stats to DiscordBotList.""")] [Comment("""Api key for sending stats to DiscordBotList.""")]
public string BotListToken { get; set; } public string BotListToken { get; set; }
@@ -81,7 +81,7 @@ public sealed class Creds : IBotCredentials
public string RedisOptions { get; set; } public string RedisOptions { get; set; }
[Comment("""Database options. Don't change if you don't know what you're doing. Leave null for default values""")] [Comment("""Database options. Don't change if you don't know what you're doing. Leave null for default values""")]
public IDbOptions Db { get; set; } public DbOptions Db { get; set; }
[Comment(""" [Comment("""
Address and port of the coordinator endpoint. Leave empty for default. Address and port of the coordinator endpoint. Leave empty for default.
@@ -143,7 +143,7 @@ public sealed class Creds : IBotCredentials
cmd: NadekoBot.exe cmd: NadekoBot.exe
args: "{0}" args: "{0}"
""")] """)]
public IRestartConfig RestartCommand { get; set; } public RestartConfig RestartCommand { get; set; }
public Creds() public Creds()
{ {

View File

@@ -1,16 +1,16 @@
// // global using System.Collections.Concurrent; // // global using System.Collections.Concurrent;
// global using NonBlocking; global using NonBlocking;
// //
// // packages // // packages
// global using Serilog; // global using Serilog;
global using Humanizer; global using Humanizer;
// //
// // nadekobot // // nadekobot
// global using NadekoBot; global using NadekoBot;
// global using NadekoBot.Services; global using NadekoBot.Services;
global using Nadeko.Common; // new project global using Nadeko.Common; // new project
// global using NadekoBot.Common; // old + nadekobot specific things global using NadekoBot.Common; // old + nadekobot specific things
// global using NadekoBot.Common.Attributes; global using NadekoBot.Common.Attributes;
global using NadekoBot.Extensions; global using NadekoBot.Extensions;
// global using Nadeko.Snake; // global using Nadeko.Snake;
@@ -29,3 +29,6 @@ global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
// non-essential // non-essential
global using JetBrains.Annotations; global using JetBrains.Annotations;
global using Serilog;

View File

@@ -0,0 +1,12 @@
#nullable disable
using NadekoBot.Services.Database.Models;
namespace NadekoBot;
public interface IBot
{
IReadOnlyList<ulong> GetCurrentGuildIds();
event Func<GuildConfig, Task> JoinedGuild;
IReadOnlyCollection<GuildConfig> AllGuildConfigs { get; }
bool IsReady { get; }
}

View File

@@ -0,0 +1,6 @@
namespace Nadeko.Bot.Common;
public interface ICurrencyProvider
{
string GetCurrencySign();
}

View File

@@ -0,0 +1,7 @@
#nullable disable
namespace Nadeko.Common;
public interface IDiscordPermOverrideService
{
bool TryGetOverrides(ulong guildId, string commandName, out Nadeko.Bot.Db.GuildPerm? perm);
}

View File

@@ -0,0 +1,15 @@
using NadekoBot;
using NadekoBot.Services;
using OneOf;
using OneOf.Types;
namespace Nadeko.Bot.Common;
public interface IPermissionChecker
{
Task<OneOf<Success, Error<LocStr>>> CheckAsync(IGuild guild,
IMessageChannel channel,
IUser author,
string module,
string cmd);
}

View File

@@ -15,10 +15,12 @@
<ProjectReference Include="..\Nadeko.Bot.Db\Nadeko.Bot.Db.csproj" /> <ProjectReference Include="..\Nadeko.Bot.Db\Nadeko.Bot.Db.csproj" />
<ProjectReference Include="..\Nadeko.Common\Nadeko.Common.csproj" /> <ProjectReference Include="..\Nadeko.Common\Nadeko.Common.csproj" />
<PackageReference Include="JetBrains.Annotations" Version="2022.3.1" /> <PackageReference Include="JetBrains.Annotations" Version="2022.3.1" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
<PackageReference Include="SixLabors.Fonts" Version="1.0.0-beta17" /> <PackageReference Include="SixLabors.Fonts" Version="1.0.0-beta17" />
<PackageReference Include="SixLabors.ImageSharp" Version="2.1.3" /> <PackageReference Include="SixLabors.ImageSharp" Version="2.1.3" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta14" /> <PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta14" />
<PackageReference Include="SixLabors.Shapes" Version="1.0.0-beta0009" /> <PackageReference Include="SixLabors.Shapes" Version="1.0.0-beta0009" />
<PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="Humanizer" Version="2.14.1"> <PackageReference Include="Humanizer" Version="2.14.1">
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<Publish>True</Publish> <Publish>True</Publish>
@@ -29,9 +31,6 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Update="data\**\*"> <AdditionalFiles Include="..\NadekoBot\data\strings\responses\responses.en-US.json" />
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<AdditionalFiles Include="data\strings\responses\responses.en-US.json" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -0,0 +1,7 @@
namespace NadekoBot.Modules.Utility.Patronage;
public readonly struct FeatureLimitKey
{
public string PrettyName { get; init; }
public string Key { get; init; }
}

View File

@@ -2,12 +2,6 @@
public static class PatronExtensions public static class PatronExtensions
{ {
public static DateOnly ToDateOnly(this DateTime dateTime)
=> DateOnly.FromDateTime(dateTime);
public static bool IsBeforeToday(this DateTime date)
=> date < DateTime.UtcNow.Date;
public static string ToFullName(this PatronTier tier) public static string ToFullName(this PatronTier tier)
=> tier switch => tier switch
{ {

View File

@@ -24,7 +24,7 @@ public class CommandHandler : INService, IReadyExecutor, ICommandHandler
private readonly DiscordSocketClient _client; private readonly DiscordSocketClient _client;
private readonly CommandService _commandService; private readonly CommandService _commandService;
private readonly BotConfigService _bss; private readonly BotConfigService _bss;
private readonly Bot _bot; private readonly IBot _bot;
private readonly IBehaviorHandler _behaviorHandler; private readonly IBehaviorHandler _behaviorHandler;
private readonly IServiceProvider _services; private readonly IServiceProvider _services;
@@ -38,7 +38,7 @@ public class CommandHandler : INService, IReadyExecutor, ICommandHandler
DbService db, DbService db,
CommandService commandService, CommandService commandService,
BotConfigService bss, BotConfigService bss,
Bot bot, IBot bot,
IBehaviorHandler behaviorHandler, IBehaviorHandler behaviorHandler,
// InteractionService interactions, // InteractionService interactions,
IServiceProvider services) IServiceProvider services)

View File

@@ -0,0 +1,12 @@
#nullable disable
namespace NadekoBot.Modules.Utility.Services;
public interface IRemindService
{
Task AddReminderAsync(ulong userId,
ulong targetId,
ulong? guildId,
bool isPrivate,
DateTime time,
string message);
}

View File

@@ -13,11 +13,6 @@ public interface IStatsService
/// </summary> /// </summary>
long CommandsRan { get; } long CommandsRan { get; }
/// <summary>
/// The Discord framework used by the bot.
/// </summary>
string Library { get; }
/// <summary> /// <summary>
/// The amount of messages seen by the bot since startup. /// The amount of messages seen by the bot since startup.
/// </summary> /// </summary>

View File

@@ -0,0 +1,17 @@
namespace NadekoBot.Services;
public interface IImageCache
{
Task<byte[]?> GetHeadsImageAsync();
Task<byte[]?> GetTailsImageAsync();
Task<byte[]?> GetCurrencyImageAsync();
Task<byte[]?> GetXpBackgroundImageAsync();
Task<byte[]?> GetRategirlBgAsync();
Task<byte[]?> GetRategirlDotAsync();
Task<byte[]?> GetDiceAsync(int num);
Task<byte[]?> GetSlotEmojiAsync(int number);
Task<byte[]?> GetSlotBgAsync();
Task<byte[]?> GetRipBgAsync();
Task<byte[]?> GetRipOverlayAsync();
Task<byte[]?> GetImageDataAsync(Uri url);
}

View File

@@ -0,0 +1,19 @@
using NadekoBot.Common.Configs;
namespace NadekoBot.Services;
public sealed class ImagesConfig : ConfigServiceBase<ImageUrls>
{
private const string PATH = "data/images.yml";
private static readonly TypedKey<ImageUrls> _changeKey =
new("config.images.updated");
public override string Name
=> "images";
public ImagesConfig(IConfigSeria serializer, IPubSub pubSub)
: base(PATH, serializer, pubSub, _changeKey)
{
}
}

View File

@@ -11,6 +11,12 @@ namespace NadekoBot.Extensions;
public static class Extensions public static class Extensions
{ {
public static DateOnly ToDateOnly(this DateTime dateTime)
=> DateOnly.FromDateTime(dateTime);
public static bool IsBeforeToday(this DateTime date)
=> date < DateTime.UtcNow.Date;
private static readonly Regex _urlRegex = private static readonly Regex _urlRegex =
new(@"^(https?|ftp)://(?<path>[^\s/$.?#].[^\s]*)$", RegexOptions.Compiled); new(@"^(https?|ftp)://(?<path>[^\s/$.?#].[^\s]*)$", RegexOptions.Compiled);
@@ -40,7 +46,7 @@ public static class Extensions
public static ulong[] GetGuildIds(this DiscordSocketClient client) public static ulong[] GetGuildIds(this DiscordSocketClient client)
=> client.Guilds => client.Guilds
.Map(x => x.Id); .Map(x => x.Id);
/// <summary> /// <summary>
/// Generates a string in the format HHH:mm if timespan is &gt;= 2m. /// Generates a string in the format HHH:mm if timespan is &gt;= 2m.
@@ -154,8 +160,13 @@ public static class Extensions
if (logService is not null) if (logService is not null)
logService.AddDeleteIgnore(msg.Id); logService.AddDeleteIgnore(msg.Id);
try { await msg.DeleteAsync(); } try
catch { } {
await msg.DeleteAsync();
}
catch
{
}
}); });
return msg; return msg;
} }

View File

@@ -1 +0,0 @@
4.3.13

View File

@@ -1,115 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"NorthShirahebi/1.0.0": {
"dependencies": {
"Nadeko.Medusa": "4.3.10"
},
"runtime": {
"NorthShirahebi.dll": {}
}
},
"Discord.Net.Core/3.104.0": {
"dependencies": {
"Newtonsoft.Json": "13.0.1",
"System.Collections.Immutable": "5.0.0",
"System.Interactive.Async": "5.0.0",
"System.ValueTuple": "4.5.0"
}
},
"Nadeko.Medusa/4.3.10": {
"dependencies": {
"Discord.Net.Core": "3.104.0",
"Serilog": "2.11.0",
"YamlDotNet": "11.2.1"
}
},
"Newtonsoft.Json/13.0.1": {},
"Serilog/2.11.0": {},
"System.Collections.Immutable/5.0.0": {},
"System.Interactive.Async/5.0.0": {
"dependencies": {
"System.Linq.Async": "5.0.0"
}
},
"System.Linq.Async/5.0.0": {},
"System.ValueTuple/4.5.0": {},
"YamlDotNet/11.2.1": {}
}
},
"libraries": {
"NorthShirahebi/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Discord.Net.Core/3.104.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kGCH8WA5C39oLGNb/4+r6M038BKnrxNFyjFZ0YPUiNXPki3CGCugMleSvPjUcUaz7UnvOFA9W8JzgN6KQWbuOQ==",
"path": "discord.net.core/3.104.0",
"hashPath": "discord.net.core.3.104.0.nupkg.sha512"
},
"Nadeko.Medusa/4.3.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-vwuTD/Gu+6SBU5wG+wnaijcbjkAiYiQK2oTKCiJnP5uqWtLD33pTAoXNkMMu0soQj1hetFVoDUUbMLeg/JLAKg==",
"path": "nadeko.medusa/4.3.10",
"hashPath": "nadeko.medusa.4.3.10.nupkg.sha512"
},
"Newtonsoft.Json/13.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==",
"path": "newtonsoft.json/13.0.1",
"hashPath": "newtonsoft.json.13.0.1.nupkg.sha512"
},
"Serilog/2.11.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ysv+hBzTul6Dp+Hvm10FlhJO3yMQcFKSAleus+LpiIzvNstpeV4Z7gGuIZ1OPNfIMulSHOjmLuGAEDKzpnV8ZQ==",
"path": "serilog/2.11.0",
"hashPath": "serilog.2.11.0.nupkg.sha512"
},
"System.Collections.Immutable/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-FXkLXiK0sVVewcso0imKQoOxjoPAj42R8HtjjbSjVPAzwDfzoyoznWxgA3c38LDbN9SJux1xXoXYAhz98j7r2g==",
"path": "system.collections.immutable/5.0.0",
"hashPath": "system.collections.immutable.5.0.0.nupkg.sha512"
},
"System.Interactive.Async/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QaqhQVDiULcu4vm6o89+iP329HcK44cETHOYgy/jfEjtzeFy0ZxmuM7nel9ocjnKxEM4yh1mli7hgh8Q9o+/Iw==",
"path": "system.interactive.async/5.0.0",
"hashPath": "system.interactive.async.5.0.0.nupkg.sha512"
},
"System.Linq.Async/5.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cPtIuuH8TIjVHSi2ewwReWGW1PfChPE0LxPIDlfwVcLuTM9GANFTXiMB7k3aC4sk3f0cQU25LNKzx+jZMxijqw==",
"path": "system.linq.async/5.0.0",
"hashPath": "system.linq.async.5.0.0.nupkg.sha512"
},
"System.ValueTuple/4.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==",
"path": "system.valuetuple/4.5.0",
"hashPath": "system.valuetuple.4.5.0.nupkg.sha512"
},
"YamlDotNet/11.2.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-tBt8K+korVfrjH9wyDEhiLKxbs8qoLCLIFwvYgkSUuMC9//w3z0cFQ8LQAI/5MCKq+BMil0cfRTRvPeE7eXhQw==",
"path": "yamldotnet/11.2.1",
"hashPath": "yamldotnet.11.2.1.nupkg.sha512"
}
}
}

View File

@@ -1,10 +0,0 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"rollForward": "LatestMinor",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
}
}
}

View File

@@ -1,70 +0,0 @@
hug:
desc: "Hug a friend!"
args:
- ""
- "@someone"
kiss:
desc: "K-kiss someone s-special!"
args:
- ""
- "@someone"
pat:
desc: "A good boy deserves pats."
args:
- ""
- "@someone"
cuddle:
desc: "Cuddle your lover. ...Or yourself."
args:
- ""
- "@someone"
wave:
desc: "Greet your friends with a friendly wave."
args:
- ""
- "@someone"
catgirl:
desc: "Spawn a random catgirl!"
args:
- ""
Rain:
desc: "Spawn a random image with a rainy scenery."
args:
- ""
Weapon:
desc: "Spawn a random image featuring weapon(s)."
args:
- ""
Mountain:
desc: "Spawn a random image with a mountainous scenery."
args:
- ""
Swimmingpool:
desc: "Spawn a random image featuring a swimming pool(?)."
args:
- ""
Sportswear:
desc: "Spawn a random image with one or more characters wearing sportswear."
args:
- ""
Baggyclothes:
desc: "Spawn a random image with one or more characters wearing baggy clothes."
args:
- ""
Dress:
desc: "Spawn a random image with one or more characters wearing a dress"
args:
- ""
Tree:
desc: "Spawn a random image where one or more characters are in a tree."
args:
- ""
Screenshot:
desc: "Spawn image of a screenshot of the original source of the image. (ex. Screenshot of an anime scene)"
args:
- ""

View File

@@ -1 +0,0 @@
medusa.description: "Images and interactions module - For interacting with members and showing emotions."

View File

@@ -1,5 +0,0 @@
# DO NOT CHANGE
version: 1
# List of medusae automatically loaded at startup
loaded:
- NorthShirahebi

View File

@@ -54,7 +54,7 @@ public static class GuildConfigExtensions
public static IEnumerable<GuildConfig> GetAllGuildConfigs( public static IEnumerable<GuildConfig> GetAllGuildConfigs(
this DbSet<GuildConfig> configs, this DbSet<GuildConfig> configs,
List<ulong> availableGuilds) IReadOnlyList<ulong> availableGuilds)
=> configs.IncludeEverything().AsNoTracking().Where(x => availableGuilds.Contains(x.GuildId)).ToList(); => configs.IncludeEverything().AsNoTracking().Where(x => availableGuilds.Contains(x.GuildId)).ToList();
/// <summary> /// <summary>

Some files were not shown because too many files have changed in this diff Show More