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) {