Usando redis para produccion, eliminado redis/docker

This commit is contained in:
2025-09-20 02:09:44 -05:00
parent 97fa4b9acf
commit 3a233313e0
5 changed files with 74 additions and 46 deletions

View File

@@ -1,5 +1,36 @@
import {Guild, Invite, User} from "discord.js";
/**
* Lista de variables válidas del sistema (sin llaves {})
*/
export const VALID_VARIABLES = [
'user.name', 'user.id', 'user.mention', 'user.avatar',
'user.pointsAll', 'user.pointsWeekly', 'user.pointsMonthly',
'guild.name', 'guild.icon',
'invite.name', 'invite.icon'
];
/**
* Validar si una URL es válida o contiene variables del sistema
* @param url - La URL o texto a validar
* @returns boolean - true si es válida
*/
export function isValidUrlOrVariable(url: string): boolean {
if (!url) return false;
// Verificar si el texto contiene variables válidas
const hasValidVariables = VALID_VARIABLES.some(variable => url.includes(variable));
if (hasValidVariables) return true;
// Si no tiene variables, validar como URL normal
try {
new URL(url);
return url.startsWith('http://') || url.startsWith('https://');
} catch {
return false;
}
}
//@ts-ignore
export async function replaceVars(text: string, user: User | undefined, guild: Guild | undefined, stats?: any, invite: Invite | undefined): Promise<string> {
if(!text) return '';

View File

@@ -1,8 +1,19 @@
import { createClient } from "redis";
/**
* export const redis = createClient({
* url: process.env.REDIS_URL,
* })
**/
export const redis = createClient({
url: process.env.REDIS_URL,
})
username: 'default',
password: process.env.REDIS_PASS,
socket: {
host: process.env.REDIS_URL,
port: 17965
}
});
redis.on("error", (err: any) => console.error("Redis error:", err));
redis.on("connect", () => console.log("✅ Conectado a Redis"));