ClientX/config.js

333 lines
9.6 KiB
JavaScript
Raw Permalink Normal View History

2025-04-25 21:28:05 -04:00
import dotenv from 'dotenv';
dotenv.config();
2025-05-08 01:52:12 +00:00
const logging = {
console: {
enabled: true,
colorize: true,
level: 'silly'
},
file: {
dateFormat: 'YYYY-MM-DD',
timestampFormat: 'YYYY-MM-DD HH:mm:ss',
combined: {
enabled: true,
level: 'silly',
location: 'logs',
maxSize: '12m',
maxFiles: '30d'
},
error: {
enabled: true,
level: 'error',
location: 'logs',
maxSize: '12m',
maxFiles: '365d'
}
}
};
const pocketbase = {
url: process.env.SHARED_POCKETBASE_URL,
username: process.env.SHARED_POCKETBASE_USERNAME,
password: process.env.SHARED_POCKETBASE_PASSWORD
};
2025-04-25 21:28:05 -04:00
export default {
2025-05-08 01:52:12 +00:00
clients: [
{
id: 'SysAI',
enabled: true,
owner: process.env.OWNER_ID,
discord: {
appId: process.env.SYSAI_DISCORD_APPID,
token: process.env.SYSAI_DISCORD_TOKEN
},
logging: { ...logging },
pocketbase: { ...pocketbase },
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
defaultModel: 'gpt-4.1',
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
minScore: 1.0,
enableMentions: true,
enableReplies: true,
tools: {
webSearch: true,
fileSearch: false,
imageGeneration: true
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
modules: [
'ansi',
'botUtils',
'pbUtils',
'gitUtils',
'responses',
'responsesPrompt',
'responsesQuery',
'tempvc'
]
},
{
id: 'ASOP',
enabled: true,
owner: process.env.OWNER_ID,
discord: {
appId: process.env.ASOP_DISCORD_APPID,
token: process.env.ASOP_DISCORD_TOKEN
},
logging: { ...logging },
condimentX: {
dryRun: false,
guildID: '983057544849272883',
debugChannel: '1247179154869325865',
blacklistUsers: [
'1162531805006680064' // Crow
],
blacklistRoles: [
'1173012816228274256', // @Bots
'1209570635085520977', // @Kevin Arby
'1226903935344971786', // @Werebeef
'1250141348040933407' // @RIP
],
graylistRoles: [
'1246749335866310656' // @Most Active
],
whitelistRoles: [
'1256082910163767378' // @"Crow"
],
indexRoleID: '1209570635085520977', // Kevin's Vessel
viralRoleID: '1226903935344971786', // Werebeef
antiIndexRoleID: '1241228932037214358', // Exorcised
antiViralRoleID: '1241230334079795330', // Immunized
firstCycleInterval: 30000,
cycleInterval: 3600000,
cycleIntervalRange: 900000,
incidenceDenominator: 40,
cessationDenominator: 20,
probabilityLimit: 20,
antiViralEffectiveness: 90,
proximityWindow: 120000,
messageHistoryLimit: 50,
ephemeralDelay: 60000,
openAI: true,
openAITriggerOnlyDuringIncident: true,
openAIResponseDenominator: 1,
openAIInstructionsFile: './assets/kevinarby.txt',
openAITriggers: [
'kevin',
'arby',
'werebeef'
],
openAIWebhookID: '1251666161075097640',
openAIWebhookToken: process.env.SYSAI_CONDIMENTX_WEBHOOK_TOKEN,
openAIToken: process.env.SHARED_OPENAI_API_KEY
},
pocketbase: { ...pocketbase },
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
defaultModel: 'gpt-4.1-mini',
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
minScore: 0.5,
enableMentions: true,
enableReplies: true,
tools: {
webSearch: false,
fileSearch: false,
imageGeneration: true
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
scorekeeper: {
baseOutput: 1000,
commendationValue: 0.25,
citationValue: 0.35,
cooldown: 43200000,
decay: 80,
schedule: '0 0 * * 0'
},
modules: [
'ansi',
'botUtils',
'pbUtils',
'gitUtils',
'condimentX',
'responses',
'responsesPrompt',
'responsesQuery',
'scorekeeper',
'scorekeeper-example',
'scExecHangarStatus'
]
},
{
id: 'Crowley',
enabled: true,
owner: process.env.OWNER_ID,
discord: {
appId: process.env.CROWLEY_DISCORD_APPID,
token: process.env.CROWLEY_DISCORD_TOKEN
},
logging: { ...logging },
pocketbase: { ...pocketbase },
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
defaultModel: 'gpt-4.1',
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
minScore: 0,
enableMentions: true,
enableReplies: true,
tools: {
webSearch: false,
fileSearch: false,
imageGeneration: false
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
modules: [
'botUtils',
'pbUtils',
'responses',
'responsesPrompt',
'responsesQuery'
]
},
{
id: 'GRANDPA',
enabled: true,
owner: process.env.OWNER_ID,
discord: {
appId: process.env.GRANDPA_DISCORD_APPID,
token: process.env.GRANDPA_DISCORD_TOKEN
},
logging: { ...logging },
pocketbase: { ...pocketbase },
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
defaultModel: 'gpt-4.1',
defaultMaxTokens: 200,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
minScore: 0,
enableMentions: false,
enableReplies: true,
tools: {
webSearch: false,
fileSearch: false,
imageGeneration: false
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
responsesRandomizer: {
chance: 0.01
},
modules: [
'botUtils',
'pbUtils',
'responses',
'responsesPrompt',
'responsesRandomizer'
]
},
{
id: 'Smuuush',
enabled: true,
owner: process.env.OWNER_ID,
discord: {
appId: process.env.SMUUUSH_DISCORD_APPID,
token: process.env.SMUUUSH_DISCORD_TOKEN
},
logging: { ...logging },
pocketbase: { ...pocketbase },
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
defaultModel: 'gpt-4.1-mini',
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
minScore: 0,
enableMentions: true,
enableReplies: true,
tools: {
webSearch: false,
fileSearch: false,
imageGeneration: true
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
modules: [
'botUtils',
'pbUtils',
'responses',
'responsesPrompt',
'responsesQuery'
]
}
]
};