diff --git a/package.json b/package.json index 599ba48..858a672 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aslobot-matrix", - "version": "0.7.0", + "version": "0.7.1", "description": "", "license": "ISC", "author": "", diff --git a/src/config.preset.json b/src/config.preset.json index 66ea18d..dbd7d75 100644 --- a/src/config.preset.json +++ b/src/config.preset.json @@ -24,7 +24,8 @@ "ai": { "api": { "key": "" - } + }, + "prompt": "Your name is Aslobot. Be concise, try to keep text as short as possible. Be helpful." } } } diff --git a/src/helpers.ts b/src/helpers.ts index 8724a8f..9c1df6d 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -66,7 +66,9 @@ const getUserName = (user: IUser): string => { return ""; } - return match.replaceAll("@", ""); + let username = match.replaceAll("@", ""); + username = username.charAt(0).toUpperCase() + username.slice(1); + return username; }; const getUserFromMention = (mention: string | undefined): IUser | undefined => { diff --git a/src/modules/admin/admin.ts b/src/modules/admin/admin.ts index 2fefee4..66117f1 100644 --- a/src/modules/admin/admin.ts +++ b/src/modules/admin/admin.ts @@ -3,7 +3,7 @@ import type { ICallbackStore } from "../types.js"; import { config } from "../../config.js"; import { load, save, state } from "../../store/store.js"; import type { TRole } from "../../store/types.js"; -import { getUserFromMention } from "../../helpers.js"; +import { getUserFromMention, getUserName } from "../../helpers.js"; let client: MatrixClient; @@ -46,8 +46,12 @@ const onSetRole = async (text: string, roomId: string) => { } user.role = role; + const username = getUserName(user); - client.sendTextMessage(roomId, `Role for ${user} has been set to ${role}`); + client.sendTextMessage( + roomId, + `Role for ${username} has been set to ${role}`, + ); }; const onShutdown = async (text: string, roomId: string) => { diff --git a/src/modules/ai/ai.ts b/src/modules/ai/ai.ts index 233a390..8743b21 100644 --- a/src/modules/ai/ai.ts +++ b/src/modules/ai/ai.ts @@ -37,8 +37,7 @@ const onAI = async (text: string, roomId: string, sender: string) => { let textMod = text.replace("!ai", "").trim().toLowerCase(); let instructions = { prefferedLanguages: ["english", "slovak"], - adminText: - "Your name is Aslobot. Be concise, try to keep text as short as possible. Be helpful, but you are encouraged to be sarcastic and make fun of people", + adminText: config.app.ai.prompt, alts: alts, } as IAdminInstructions; diff --git a/src/modules/ai/alts.ts b/src/modules/ai/alts.ts index f7b8ead..6a162d2 100644 --- a/src/modules/ai/alts.ts +++ b/src/modules/ai/alts.ts @@ -16,14 +16,17 @@ const alts: IAIAlt[] = [ "macag", ], alt: "black cat", + information: "an evil cat, married to white cat", }, { keys: ["macica", "macico"], alt: "white cat", + information: "married to black cat", }, { keys: ["gabor", "gaber", "martin", "marting"], alt: "hedgehog", + information: "married to ai", }, { keys: [ @@ -37,14 +40,17 @@ const alts: IAIAlt[] = [ "madek", ], alt: "beaver", + information: "likes shoot fetish", }, { keys: ["janys", "jano", "janeg", "janek", "aslanek", "aslan", "aslo"], alt: "lion", + information: "the creator", }, { keys: ["marek", "mareg", "macek", "maceg", "rod"], alt: "purple snake", + information: "drives fast", }, { keys: ["lara", "kostur", "kosturik"], diff --git a/src/modules/ai/types.ts b/src/modules/ai/types.ts index 7f57e3b..1189939 100644 --- a/src/modules/ai/types.ts +++ b/src/modules/ai/types.ts @@ -1,6 +1,7 @@ interface IAIAlt { keys: string[]; alt: string; + information?: string; } interface IAdminInstructions { diff --git a/src/modules/user/user.ts b/src/modules/user/user.ts index 1ad7770..86dc36b 100644 --- a/src/modules/user/user.ts +++ b/src/modules/user/user.ts @@ -54,11 +54,9 @@ const onMe = (text: string, roomId: string, sender: string) => { const onLeaderboard = (_text: string, roomId: string) => { const mapUsersToLeaderboard = (user: IUser): string => { const level = getLevel(user.experience); - const userName = getUserName(user); - const userNameMod = - userName.charAt(0).toUpperCase() + userName.slice(1); + const username = getUserName(user); - return `