mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 09:18:27 -04:00
fix: Fixed many issues with 5.2.0
This commit is contained in:
14
CHANGELOG.md
14
CHANGELOG.md
@@ -2,11 +2,23 @@
|
|||||||
|
|
||||||
Mostly based on [keepachangelog](https://keepachangelog.com/en/1.0.0/) except date format. a-c-f-r-o
|
Mostly based on [keepachangelog](https://keepachangelog.com/en/1.0.0/) except date format. a-c-f-r-o
|
||||||
|
|
||||||
|
## [5.2.2] - 27.11.2024
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Button roles are now non-exclusive by default
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed sar migration, again (this time correctly)
|
||||||
|
- Fixed `.sclr` not updating unless bot is restarted, the changes should be immediate now for warn and error
|
||||||
|
- Fixed group buttons exclusivity message always saying groups are exclusive
|
||||||
|
|
||||||
## [5.2.1] - 26.11.2024
|
## [5.2.1] - 26.11.2024
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed old .sar missing
|
- Fixed old self assigned missing
|
||||||
|
|
||||||
## [5.2.0] - 26.11.2024
|
## [5.2.0] - 26.11.2024
|
||||||
|
|
||||||
|
@@ -21,17 +21,14 @@ public static class MigrationQueries
|
|||||||
INNER JOIN GuildConfigs as GC ON GN.GuildConfigId = GC.Id;
|
INNER JOIN GuildConfigs as GC ON GN.GuildConfigId = GC.Id;
|
||||||
|
|
||||||
INSERT INTO Sar (GuildId, RoleId, SarGroupId, LevelReq)
|
INSERT INTO Sar (GuildId, RoleId, SarGroupId, LevelReq)
|
||||||
SELECT SAR.GuildId, SAR.RoleId, SG2.Id, MIN(SAR.LevelRequirement)
|
SELECT SAR.GuildId, SAR.RoleId, (SELECT Id FROM SarGroup WHERE SG.Number = SarGroup.GroupNumber AND SG.GuildId = SarGroup.GuildId), MIN(SAR.LevelRequirement)
|
||||||
FROM SelfAssignableRoles as SAR
|
FROM SelfAssignableRoles as SAR
|
||||||
INNER JOIN (SELECT GuildId FROM GroupName as gn
|
INNER JOIN (SELECT GuildId, gn.Number FROM GroupName as gn
|
||||||
INNER JOIN GuildConfigs as gc ON gn.GuildConfigId =gc.Id
|
INNER JOIN GuildConfigs as gc ON gn.GuildConfigId =gc.Id
|
||||||
) as SG
|
) as SG
|
||||||
ON SG.GuildId = SAR.GuildId
|
ON SG.GuildId = SAR.GuildId
|
||||||
INNER JOIN (SELECT gn.Id, Number FROM GroupName as gn
|
WHERE SG.Number IN (SELECT GroupNumber FROM SarGroup WHERE Sar.GuildId = SarGroup.GuildId)
|
||||||
INNER JOIN GuildConfigs as gc ON gn.GuildConfigId =gc.Id
|
GROUP BY SAR.GuildId, SAR.RoleId;
|
||||||
) as SG2
|
|
||||||
ON SG2.Number = SAR."Group"
|
|
||||||
GROUP BY SAR.GuildId, SAR.RoleId;
|
|
||||||
|
|
||||||
INSERT INTO SarAutoDelete (GuildId, IsEnabled)
|
INSERT INTO SarAutoDelete (GuildId, IsEnabled)
|
||||||
SELECT GuildId, AutoDeleteSelfAssignedRoleMessages FROM GuildConfigs WHERE AutoDeleteSelfAssignedRoleMessages = TRUE;
|
SELECT GuildId, AutoDeleteSelfAssignedRoleMessages FROM GuildConfigs WHERE AutoDeleteSelfAssignedRoleMessages = TRUE;
|
||||||
|
@@ -283,7 +283,13 @@ public partial class Administration
|
|||||||
{
|
{
|
||||||
var res = await _service.SetExclusiveButtonRoles(ctx.Guild.Id, messageId, exclusive.Value);
|
var res = await _service.SetExclusiveButtonRoles(ctx.Guild.Id, messageId, exclusive.Value);
|
||||||
|
|
||||||
if (res)
|
if (!res)
|
||||||
|
{
|
||||||
|
await Response().Error(strs.btnrole_not_found).SendAsync();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exclusive.Value)
|
||||||
{
|
{
|
||||||
await Response().Confirm(strs.btnrole_exclusive).SendAsync();
|
await Response().Confirm(strs.btnrole_exclusive).SendAsync();
|
||||||
}
|
}
|
||||||
|
@@ -126,7 +126,11 @@ public sealed class ButtonRolesService : INService, IReadyExecutor
|
|||||||
Emote = emoteStr,
|
Emote = emoteStr,
|
||||||
Label = string.Empty,
|
Label = string.Empty,
|
||||||
ButtonId = $"{BTN_PREFIX}:{guildId}:{guid}",
|
ButtonId = $"{BTN_PREFIX}:{guildId}:{guid}",
|
||||||
Exclusive = (uow.GetTable<ButtonRole>().Where(x => x.GuildId == guildId && x.MessageId == messageId).All(x => x.Exclusive))
|
Exclusive = uow.GetTable<ButtonRole>()
|
||||||
|
.Any(x => x.GuildId == guildId && x.MessageId == messageId)
|
||||||
|
&& uow.GetTable<ButtonRole>()
|
||||||
|
.Where(x => x.GuildId == guildId && x.MessageId == messageId)
|
||||||
|
.All(x => x.Exclusive)
|
||||||
},
|
},
|
||||||
_ => new()
|
_ => new()
|
||||||
{
|
{
|
||||||
@@ -178,7 +182,6 @@ public sealed class ButtonRolesService : INService, IReadyExecutor
|
|||||||
.UpdateAsync((_) => new()
|
.UpdateAsync((_) => new()
|
||||||
{
|
{
|
||||||
Exclusive = exclusive
|
Exclusive = exclusive
|
||||||
})
|
}) > 0;
|
||||||
> 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -4,7 +4,7 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>true</ImplicitUsings>
|
<ImplicitUsings>true</ImplicitUsings>
|
||||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||||
<Version>5.2.1</Version>
|
<Version>5.2.2</Version>
|
||||||
|
|
||||||
<!-- Output/build -->
|
<!-- Output/build -->
|
||||||
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
|
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
|
||||||
|
@@ -75,6 +75,14 @@ public sealed class GuildColorsService : IReadyExecutor, IGuildColorsService, IN
|
|||||||
{
|
{
|
||||||
GuildId = guildId
|
GuildId = guildId
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!_colors.TryAdd(guildId, new Colors(null, null, color?.ToDiscordColor())))
|
||||||
|
{
|
||||||
|
_colors[guildId] = _colors[guildId] with
|
||||||
|
{
|
||||||
|
Ok = color?.ToDiscordColor()
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SetPendingColor(ulong guildId, Rgba32? color)
|
public async Task SetPendingColor(ulong guildId, Rgba32? color)
|
||||||
@@ -95,6 +103,14 @@ public sealed class GuildColorsService : IReadyExecutor, IGuildColorsService, IN
|
|||||||
{
|
{
|
||||||
GuildId = guildId
|
GuildId = guildId
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!_colors.TryAdd(guildId, new Colors(null, color?.ToDiscordColor(), null)))
|
||||||
|
{
|
||||||
|
_colors[guildId] = _colors[guildId] with
|
||||||
|
{
|
||||||
|
Ok = color?.ToDiscordColor()
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task OnReadyAsync()
|
public async Task OnReadyAsync()
|
||||||
|
Reference in New Issue
Block a user