interface Theme {
/** Theme's name */
name: string;
/** Theme's description */
description: string;
/** Array of theme authors */
authors: {
/** Author's nickname */
name: string;
/** Author's Discord user ID */
id: string;
}[];
/** Theme version (currently 2) */
spec: 2;
/** Object containing the semantic color recolorations */
semanticColors: {
/** Semantic key */
[semanticKey: string]: [
/** Dark color */
string,
/** Light color */
string,
/** Amoled color */
string
];
};
/** Object containing the raw color recolorations */
rawColors: {
[rawKey: string]: string;
};
/** Background that shows up in chat */
background: {
/** Determines the blurriness of the background (goes from 0-1) */
blur: number;
/** A link to the background */
url: string;
/** Determines the opacity of the background (goes from 0-1, affects color too) */
alpha: number;
};
}
Color codes inside the semanticColors and rawColors object can be the following:
3/6 character HEX --> #RGB(A) or #RRGGBB(AA)
Alpha is optional, may crash discord if used in a rawColor
CSS rgba() --> rgba(0, 0, 0, 1)
[ ! ]rbga() needs to follow the above format exactly. You cannot use rgba(r g b a) or rgba(r g b / a)