koishi-plugin-emojiluna
Version:
Smart emoji management plugin with AI categorization
124 lines (123 loc) • 4.08 kB
TypeScript
import { Schema } from 'koishi';
import { ImageContentType } from './types';
export declare const Config: Schema<Schemastery.ObjectS<{
maxEmojiCount: Schema<number, number>;
selfUrl: Schema<string, string>;
storagePath: Schema<string, string>;
categories: Schema<string[], string[]>;
autoCategorize: Schema<boolean, boolean>;
autoAnalyze: Schema<boolean, boolean>;
autoCollect: Schema<boolean, boolean>;
triggerWithName: Schema<boolean, boolean>;
}> | Schemastery.ObjectS<{
model: Schema<any, any>;
}> | Schemastery.ObjectS<{
categorizePrompt: Schema<string, string>;
analyzePrompt: Schema<string, string>;
imageFilterPrompt: Schema<string, string>;
injectVariablesPrompt: Schema<string, string>;
}> | Schemastery.ObjectS<{
injectVariables: Schema<boolean, boolean>;
injectVariablesLimit: Schema<number, number>;
backendServer: Schema<boolean, boolean>;
backendPath: Schema<string, string>;
uploadToken: Schema<string, string>;
}> | Schemastery.ObjectS<{
batchSize: Schema<number, number>;
aiConcurrency: Schema<number, number>;
AIBatchDelay: Schema<number, number>;
AIMaxAttempts: Schema<number, number>;
AIBackoffBase: Schema<number, number>;
}> | Schemastery.ObjectS<{
minEmojiSize: Schema<number, number>;
maxEmojiSize: Schema<number, number>;
similarityThreshold: Schema<number, number>;
whitelistGroups: Schema<string[], string[]>;
emojiFrequencyThreshold: Schema<number, number>;
groupAutoCollectLimit: Schema<import("cosmokit").Dict<Schemastery.ObjectS<{
hourLimit: Schema<number, number>;
dayLimit: Schema<number, number>;
}>, string>, import("cosmokit").Dict<Schemastery.ObjectT<{
hourLimit: Schema<number, number>;
dayLimit: Schema<number, number>;
}>, string>>;
enableImageTypeFilter: Schema<boolean, boolean>;
acceptedImageTypes: Schema<ImageContentType[], ImageContentType[]>;
}>, {
maxEmojiCount: number;
selfUrl: string;
storagePath: string;
categories: string[];
autoCategorize: boolean;
autoAnalyze: boolean;
autoCollect: boolean;
triggerWithName: boolean;
} & import("cosmokit").Dict & {
model: any;
} & {
categorizePrompt: string;
analyzePrompt: string;
imageFilterPrompt: string;
injectVariablesPrompt: string;
} & {
injectVariables: boolean;
injectVariablesLimit: number;
backendServer: boolean;
backendPath: string;
uploadToken: string;
} & {
batchSize: number;
aiConcurrency: number;
AIBatchDelay: number;
AIMaxAttempts: number;
AIBackoffBase: number;
} & {
minEmojiSize: number;
maxEmojiSize: number;
similarityThreshold: number;
whitelistGroups: string[];
emojiFrequencyThreshold: number;
groupAutoCollectLimit: import("cosmokit").Dict<Schemastery.ObjectT<{
hourLimit: Schema<number, number>;
dayLimit: Schema<number, number>;
}>, string>;
enableImageTypeFilter: boolean;
acceptedImageTypes: ImageContentType[];
}>;
export interface Config {
maxEmojiCount: number;
storagePath: string;
categories: string[];
autoCategorize: boolean;
triggerWithName: boolean;
autoAnalyze: boolean;
autoCollect: boolean;
model: string;
selfUrl: string;
categorizePrompt: string;
analyzePrompt: string;
imageFilterPrompt: string;
injectVariablesPrompt: string;
minEmojiSize: number;
maxEmojiSize: number;
similarityThreshold: number;
whitelistGroups: string[];
emojiFrequencyThreshold: number;
injectVariables: boolean;
injectVariablesLimit: number;
backendServer: boolean;
backendPath: string;
uploadToken: string;
groupAutoCollectLimit: Record<string, {
hourLimit: number;
dayLimit: number;
}>;
enableImageTypeFilter: boolean;
acceptedImageTypes: ImageContentType[];
batchSize: number;
aiConcurrency: number;
AIBatchDelay: number;
AIMaxAttempts: number;
AIBackoffBase: number;
}
export declare const name = "emojiluna";