all repos — stealth-developers @ dac60acf3e735d01339e2f08261ceea98eca4efe

bot: handle unbans correctly
vi did:web:vt3e.cat
Fri, 03 Jul 2026 18:52:37 +0100
commit

dac60acf3e735d01339e2f08261ceea98eca4efe

parent

262dd1c52f57211af79ea84b750286b62994ab0a

1 files changed, 10 insertions(+), 3 deletions(-)

jump to
M apps/bot/src/feats/roblox/user.tsapps/bot/src/feats/roblox/user.ts

@@ -175,8 +175,15 @@ "duration" in log && log.duration

? calculateBanDuration(new Date(log.createTime), log.duration) : "permanent"; - const timestamp = - duration === "permanent" ? "Permanent" : `<t:${Math.round(duration.getTime() / 1000)}:R>`; + // Check if restriction is active (unbanned users have active set to false) + const isActive = log.active !== false; + + const statusLabel = isActive ? "Expires" : "Status"; + const statusValue = isActive + ? duration === "permanent" + ? "Permanent" + : `<t:${Math.round(duration.getTime() / 1000)}:R>` + : "Ban removed"; const reason = log.displayReason || "No reason specified"; const moderator = log.bannedBy;

@@ -185,7 +192,7 @@ banContainer.addTextDisplayComponents(

new TextDisplayBuilder().setContent( [ `**Banned in ${log.projectName}** - <t:${banTime}:d> (<t:${banTime}:R>)`, - `> **Expires:** ${timestamp}`, + `> **${statusLabel}:** ${statusValue}`, `> **Reason:** ${reason}`, `> **Moderator:** [${moderator.displayName || moderator.username}](https://www.roblox.com/users/${moderator.id})`, ].join("\n"),