[CompositeRoles] Directly deserialiaze to ulong
This commit is contained in:
@@ -8,14 +8,13 @@ namespace Cocotte.Modules.Activities;
|
|||||||
public class CompositeRolesListener
|
public class CompositeRolesListener
|
||||||
{
|
{
|
||||||
private readonly ILogger<CompositeRolesListener> _logger;
|
private readonly ILogger<CompositeRolesListener> _logger;
|
||||||
private readonly IDictionary<ulong, GuildCompositeRoles[]> _compositeRoles;
|
private readonly IReadOnlyDictionary<ulong, GuildCompositeRoles[]> _compositeRoles;
|
||||||
|
|
||||||
public CompositeRolesListener(ILogger<CompositeRolesListener> logger,
|
public CompositeRolesListener(ILogger<CompositeRolesListener> logger,
|
||||||
IOptions<CompositeRolesOptions> compositeRolesOptions)
|
IOptions<CompositeRolesOptions> compositeRolesOptions)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
// Initialize dictionary: transform string guildIds to ulong
|
_compositeRoles = compositeRolesOptions.Value.CompositeRoles;
|
||||||
_compositeRoles = compositeRolesOptions.Value.CompositeRoles.ToDictionary(kp => ulong.Parse(kp.Key), kp => kp.Value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task UserUpdated(Cacheable<SocketGuildUser, ulong> cacheable, SocketGuildUser guildUser)
|
public async Task UserUpdated(Cacheable<SocketGuildUser, ulong> cacheable, SocketGuildUser guildUser)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ public class CompositeRolesOptions
|
|||||||
{
|
{
|
||||||
public const string SectionName = "CompositeRolesOptions";
|
public const string SectionName = "CompositeRolesOptions";
|
||||||
|
|
||||||
public required IReadOnlyDictionary<string, GuildCompositeRoles[]> CompositeRoles { get; init; }
|
public required IReadOnlyDictionary<ulong, GuildCompositeRoles[]> CompositeRoles { get; init; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GuildCompositeRoles
|
public class GuildCompositeRoles
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ public class CdnUtils
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Needs to be updated each time a media is updated on the CDN
|
/// Needs to be updated each time a media is updated on the CDN
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const string RandomSuffix = "a57z45a";
|
private const string RandomSuffix = "assets1";
|
||||||
|
|
||||||
public static string GetAsset(string assetName)
|
public static string GetAsset(string assetName)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"CompositeRolesOptions": {
|
"CompositeRolesOptions": {
|
||||||
"CompositeRoles": {
|
"CompositeRoles": {
|
||||||
"someGuildId (ulong)": [
|
"someGuildId": [
|
||||||
{
|
{
|
||||||
"TargetRoleId": 1,
|
"TargetRoleId": 1,
|
||||||
"CompositeRolesIds": [
|
"CompositeRolesIds": [
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"anotherGuildId (ulong)": [
|
"anotherGuildId": [
|
||||||
{
|
{
|
||||||
"TargetRoleId": 45,
|
"TargetRoleId": 45,
|
||||||
"CompositeRolesIds": [
|
"CompositeRolesIds": [
|
||||||
|
|||||||
Reference in New Issue
Block a user