diff --git a/locale/Messages.resx b/locale/Messages.resx index c2988e0..b701495 100644 --- a/locale/Messages.resx +++ b/locale/Messages.resx @@ -558,4 +558,7 @@ is now + + Rename members who attempt to hoist themselves + diff --git a/locale/Messages.ru.resx b/locale/Messages.ru.resx index 2173cb0..22bf3a9 100644 --- a/locale/Messages.ru.resx +++ b/locale/Messages.ru.resx @@ -558,4 +558,7 @@ теперь имеет значение + + Переименовывать участников, которые пытаются поднять себя + diff --git a/locale/Messages.tt-ru.resx b/locale/Messages.tt-ru.resx index 6e5666c..dca7f71 100644 --- a/locale/Messages.tt-ru.resx +++ b/locale/Messages.tt-ru.resx @@ -558,4 +558,7 @@ стало + + переобувать шизоидов пытающихся поднять себя в табе + diff --git a/src/Commands/SettingsCommandGroup.cs b/src/Commands/SettingsCommandGroup.cs index 741f10e..7932e01 100644 --- a/src/Commands/SettingsCommandGroup.cs +++ b/src/Commands/SettingsCommandGroup.cs @@ -37,7 +37,8 @@ public class SettingsCommandGroup : CommandGroup { GuildSettings.DefaultRole, GuildSettings.MuteRole, GuildSettings.EventNotificationRole, - GuildSettings.EventEarlyNotificationOffset + GuildSettings.EventEarlyNotificationOffset, + GuildSettings.RenameHoistedUsers }; private readonly ICommandContext _context; diff --git a/src/Data/GuildSettings.cs b/src/Data/GuildSettings.cs index 07e43a6..fba6250 100644 --- a/src/Data/GuildSettings.cs +++ b/src/Data/GuildSettings.cs @@ -60,4 +60,9 @@ public static class GuildSettings { /// public static readonly TimeSpanOption EventEarlyNotificationOffset = new( "EventEarlyNotificationOffset", TimeSpan.Zero); + + /// + /// Controls the editing of the display name in the guild when the user tries to hoist themselves. + /// + public static readonly BoolOption RenameHoistedUsers = new("RenameHoistedUsers", false); } diff --git a/src/Services/GuildUpdateService.cs b/src/Services/GuildUpdateService.cs index 22ef0d2..b2c7453 100644 --- a/src/Services/GuildUpdateService.cs +++ b/src/Services/GuildUpdateService.cs @@ -231,8 +231,8 @@ public partial class GuildUpdateService : BackgroundService { for (var i = memberData.Reminders.Count - 1; i >= 0; i--) await TickReminderAsync(memberData.Reminders[i], user, memberData, ct); - - await FilterNicknameAsync(guildId, user, member, ct); + var cfg = await _dataService.GetSettings(guildId, ct); + if (GuildSettings.RenameHoistedUsers.Get(cfg)) await FilterNicknameAsync(guildId, user, member, ct); } private Task FilterNicknameAsync(Snowflake guildId, IUser user, IGuildMember member, CancellationToken ct) {