ClientX/config.js

353 lines
7.1 KiB
JavaScript
Raw Normal View History

2025-04-25 21:28:05 -04:00
import dotenv from 'dotenv';
dotenv.config();
export default {
clients: [
{
2025-05-02 16:45:36 +00:00
id: 'IO',
2025-04-25 21:28:05 -04:00
enabled: true,
2025-05-01 21:10:20 +00:00
owner: process.env.OWNER_ID,
2025-04-25 21:28:05 -04:00
discord: {
appId: process.env.IO3_DISCORD_APPID,
token: process.env.IO3_DISCORD_TOKEN
},
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',
}
}
},
2025-04-28 20:05:04 +00:00
pocketbase: {
url: process.env.SHARED_POCKETBASE_URL,
username: process.env.SHARED_POCKETBASE_USERNAME,
password: process.env.SHARED_POCKETBASE_PASSWORD
},
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
defaultModel: 'gpt-4.1',
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
minScore: 1.0,
tools: {
2025-04-30 00:30:34 +00:00
webSearch: true,
2025-04-28 20:05:04 +00:00
fileSearch: false,
imageGeneration: true,
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
modules: [
2025-05-01 22:58:30 +00:00
'botUtils',
2025-04-28 20:05:04 +00:00
'pbUtils',
2025-05-02 16:45:36 +00:00
'gitUtils',
2025-04-28 20:05:04 +00:00
'responses',
2025-05-02 16:45:36 +00:00
'responsesPrompt',
'responsesQuery'
2025-04-28 20:05:04 +00:00
]
},
{
id: 'ASOP',
enabled: true,
2025-05-02 16:45:36 +00:00
owner: process.env.OWNER_ID,
2025-04-28 20:05:04 +00:00
discord: {
appId: process.env.ASOP_DISCORD_APPID,
token: process.env.ASOP_DISCORD_TOKEN
},
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',
}
}
},
2025-04-25 21:28:05 -04:00
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"
],
2025-04-27 02:22:13 +00:00
indexRoleID: '1209570635085520977', // Kevin's Vessel
2025-04-25 21:28:05 -04:00
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,
2025-05-02 16:45:36 +00:00
openAIInstructionsFile: './assets/kevinarby.txt',
2025-04-25 21:28:05 -04:00
openAITriggers: [
'kevin',
'arby',
'werebeef'
],
openAIWebhookID: '1251666161075097640',
openAIWebhookToken: process.env.IO3_CONDIMENTX_WEBHOOK_TOKEN,
openAIToken: process.env.SHARED_OPENAI_API_KEY
},
pocketbase: {
url: process.env.SHARED_POCKETBASE_URL,
username: process.env.SHARED_POCKETBASE_USERNAME,
password: process.env.SHARED_POCKETBASE_PASSWORD
},
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
2025-04-28 20:05:04 +00:00
defaultModel: 'gpt-4.1-mini',
2025-04-25 21:28:05 -04:00
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
2025-05-02 16:45:36 +00:00
minScore: 0.5,
2025-04-25 21:28:05 -04:00
tools: {
2025-05-02 16:45:36 +00:00
webSearch: false,
2025-04-25 21:28:05 -04:00
fileSearch: false,
imageGeneration: true,
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
scorekeeper: {
baseOutput: 1000,
2025-04-30 00:30:34 +00:00
commendationValue: 0.25,
citationValue: 0.35,
2025-04-30 16:06:35 +00:00
cooldown: 43200000,
2025-04-30 00:30:34 +00:00
decay: 80,
2025-04-25 21:28:05 -04:00
schedule: '0 0 * * 0'
},
modules: [
2025-05-02 16:45:36 +00:00
'botUtils',
2025-04-25 21:28:05 -04:00
'pbUtils',
2025-05-02 16:45:36 +00:00
'condimentX',
2025-04-25 21:28:05 -04:00
'responses',
2025-05-02 16:45:36 +00:00
'responsesPrompt',
2025-04-25 21:28:05 -04:00
'responsesQuery',
'scorekeeper',
'scorekeeper-example',
2025-05-02 16:45:36 +00:00
'scExecHangarStatus'
2025-04-25 21:28:05 -04:00
]
2025-04-30 00:33:18 +00:00
},
2025-04-30 00:58:05 +00:00
{
2025-04-30 00:33:18 +00:00
id: 'Crowley',
enabled: true,
2025-05-02 16:45:36 +00:00
owner: process.env.OWNER_ID,
2025-04-30 00:33:18 +00:00
discord: {
appId: process.env.CROWLEY_DISCORD_APPID,
token: process.env.CROWLEY_DISCORD_TOKEN
},
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',
}
}
},
pocketbase: {
url: process.env.SHARED_POCKETBASE_URL,
username: process.env.SHARED_POCKETBASE_USERNAME,
password: process.env.SHARED_POCKETBASE_PASSWORD
},
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
defaultModel: 'gpt-4.1',
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
2025-05-02 16:45:36 +00:00
minScore: 0,
2025-04-30 00:33:18 +00:00
tools: {
2025-05-02 16:45:36 +00:00
webSearch: false,
2025-04-30 00:33:18 +00:00
fileSearch: false,
2025-05-02 16:45:36 +00:00
imageGeneration: false,
2025-04-30 00:33:18 +00:00
},
imageGeneration: {
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
imageSavePath: './images'
}
},
modules: [
2025-05-02 16:45:36 +00:00
'botUtils',
2025-04-30 00:33:18 +00:00
'pbUtils',
'responses',
2025-05-02 16:45:36 +00:00
'responsesPrompt',
'responsesQuery'
2025-04-30 00:33:18 +00:00
]
2025-04-25 21:28:05 -04:00
},
{
id: 'Smuuush',
enabled: true,
2025-05-02 16:45:36 +00:00
owner: process.env.OWNER_ID,
2025-04-25 21:28:05 -04:00
discord: {
appId: process.env.SMUUUSH_DISCORD_APPID,
token: process.env.SMUUUSH_DISCORD_TOKEN
},
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',
}
}
},
pocketbase: {
url: process.env.SHARED_POCKETBASE_URL,
username: process.env.SHARED_POCKETBASE_USERNAME,
password: process.env.SHARED_POCKETBASE_PASSWORD
},
responses: {
apiKey: process.env.SHARED_OPENAI_API_KEY,
2025-04-26 15:47:10 -04:00
defaultModel: 'gpt-4.1-mini',
2025-04-25 21:28:05 -04:00
defaultMaxTokens: 1000,
defaultTemperature: 0.7,
conversationExpiry: 30 * 60 * 1000,
2025-04-30 00:58:05 +00:00
minScore: 0,
2025-04-25 21:28:05 -04:00
tools: {
webSearch: false,
fileSearch: false,
imageGeneration: true,
},
imageGeneration: {
2025-04-28 20:05:04 +00:00
defaultModel: 'gpt-image-1',
defaultQuality: 'standard',
2025-04-25 21:28:05 -04:00
imageSavePath: './images'
}
},
modules: [
2025-05-02 16:45:36 +00:00
'botUtils',
2025-04-25 21:28:05 -04:00
'pbUtils',
'responses',
2025-05-02 16:45:36 +00:00
'responsesPrompt',
2025-04-25 21:28:05 -04:00
'responsesQuery'
],
}
]
}