renamed unbannableUsers to something better

This commit is contained in:
2025-06-29 16:52:08 +02:00
parent 4c2f31e1f8
commit ab769fb546
6 changed files with 13 additions and 13 deletions

View File

@@ -3,7 +3,7 @@ import { addAdmin } from "../lib/admins";
import parseCommandArgs from "../lib/parseCommandArgs";
import { User } from "../user";
export default new Command('addadmin', ['addadmin'], 'unbannable', async msg => {
export default new Command('addadmin', ['addadmin'], 'streamer', async msg => {
const args = parseCommandArgs(msg.messageText);
if (!args[0]) { await sendMessage('Please specify a target', msg.messageId); return; };
const target = await User.initUsername(args[0].toLowerCase());

View File

@@ -1,7 +1,7 @@
import { EventSubChannelChatMessageEvent } from "@twurple/eventsub-base";
import { User } from "../user";
export type userType = 'chatter' | 'admin' | 'unbannable';
export type userType = 'chatter' | 'admin' | 'streamer';
/** The Command class represents a command */
export class Command {

View File

@@ -1,15 +1,15 @@
import { Command, sendMessage } from ".";
import { unbannableUsers } from "..";
import { streamerUsers } from "..";
import { removeAdmin } from "../lib/admins";
import parseCommandArgs from "../lib/parseCommandArgs";
import { User } from "../user";
export default new Command('removeadmin', ['removeadmin'], 'unbannable', async msg => {
export default new Command('removeadmin', ['removeadmin'], 'streamer', async msg => {
const args = parseCommandArgs(msg.messageText);
if (!args[0]) { await sendMessage('Please specify a target', msg.messageId); return; };
const target = await User.initUsername(args[0].toLowerCase());
if (!target) { await sendMessage(`Chatter ${args[0]} doesn't exist`, msg.messageId); return; };
if (unbannableUsers.includes(target.id)) { await sendMessage(`Can't remove admin ${target.displayName} as they are managed by the bot program`, msg.messageId); return; };
if (streamerUsers.includes(target.id)) { await sendMessage(`Can't remove admin ${target.displayName} as they are managed by the bot program`, msg.messageId); return; };
const data = await removeAdmin(target.id);
if (data === 1) await sendMessage(`${target.displayName} is no longer an admin`, msg.messageId);
else await sendMessage(`${target.displayName} isn't an admin`, msg.messageId);

View File

@@ -1,4 +1,4 @@
import { chatterId, streamerId, eventSub, commandPrefix, singleUserMode, unbannableUsers } from "..";
import { chatterId, streamerId, eventSub, commandPrefix, singleUserMode, streamerUsers } from "..";
import { User } from "../user";
import commands from "../commands";
import { redis } from "bun";
@@ -23,7 +23,7 @@ eventSub.onChannelChatMessage(streamerId, streamerId, async msg => {
redis.smembers('disabledcommands')
]);
if (!unbannableUsers.includes(msg.chatterId)) user?.makeVulnerable(); // Make the user vulnerable to explosions
if (!streamerUsers.includes(msg.chatterId)) user?.makeVulnerable(); // Make the user vulnerable to explosions if not streamerbot or chatterbot
// Parse commands:
if (msg.messageText.startsWith(commandPrefix)) {
@@ -36,8 +36,8 @@ eventSub.onChannelChatMessage(streamerId, streamerId, async msg => {
case "admin":
if (!await isAdmin(user!.id)) return;
break;
case "unbannable":
if (!unbannableUsers.includes(msg.chatterId)) return;
case "streamer":
if (!streamerUsers.includes(msg.chatterId)) return;
break;
};

View File

@@ -35,7 +35,7 @@ export const eventSub = new EventSubHttpListener({
export const commandPrefix = process.env.COMMAND_PREFIX ?? "!";
export const unbannableUsers = [chatterId, streamerId];
unbannableUsers.forEach(async id => await addAdmin(id));
export const streamerUsers = [chatterId, streamerId];
streamerUsers.forEach(async id => await addAdmin(id));
await import("./events");

View File

@@ -1,4 +1,4 @@
import { streamerApi, streamerId, unbannableUsers } from "..";
import { streamerApi, streamerId, streamerUsers } from "..";
import { User } from "../user";
type SuccessfulTimeout = { status: true };
@@ -10,7 +10,7 @@ type TimeoutResult = SuccessfulTimeout | UnSuccessfulTimeout;
* @param reason - reason for timeout/ban
* @param duration - duration of timeout. don't specifiy for ban */
export const timeout = async (user: User, reason: string, duration?: number): Promise<TimeoutResult> => {
if (unbannableUsers.includes(user.id)) return { status: false, reason: 'illegal' };
if (streamerUsers.includes(user.id)) return { status: false, reason: 'illegal' };
// Check if user already has a timeout
const banStatus = await streamerApi.moderation.getBannedUsers(streamerId, { userId: user.id }).then(a => a.data);