mirror of
https://github.com/matrixgpt/matrix-chatgpt-bot.git
synced 2024-06-26 14:42:14 +00:00
Add a prefix to make the bot reply
This commit is contained in:
parent
bb1637e459
commit
42c8ce02f1
|
@ -46,9 +46,12 @@ MATRIX_BOT_USERNAME=
|
||||||
MATRIX_BOT_PASSWORD=
|
MATRIX_BOT_PASSWORD=
|
||||||
MATRIX_AUTO_JOIN=true
|
MATRIX_AUTO_JOIN=true
|
||||||
MATRIX_ENCRYPTION=true
|
MATRIX_ENCRYPTION=true
|
||||||
|
# Leave prefix blank to reply to all messages
|
||||||
|
MATRIX_PREFIX=
|
||||||
|
|
||||||
# needs to be ./storage/ if you aren't using Docker or /storage/ if you are.
|
# needs to be ./storage/ if you aren't using Docker or /storage/ if you are.
|
||||||
DATA_PATH=/storage/
|
DATA_PATH=/storage/
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# Discussion
|
# Discussion
|
||||||
|
|
|
@ -16,6 +16,7 @@ export const matrixAutojoin = process.env.MATRIX_AUTO_JOIN && process.env.MATRIX
|
||||||
export const matrixEncryption = process.env.MATRIX_ENCRYPTION && process.env.MATRIX_ENCRYPTION.toLowerCase() === "true" as string;
|
export const matrixEncryption = process.env.MATRIX_ENCRYPTION && process.env.MATRIX_ENCRYPTION.toLowerCase() === "true" as string;
|
||||||
|
|
||||||
export const dataPath = process.env.DATA_PATH as string;
|
export const dataPath = process.env.DATA_PATH as string;
|
||||||
|
export const matrixPrefix = process.env.MATRIX_PREFIX as string;
|
||||||
|
|
||||||
/** ChatGPT specific stuff */
|
/** ChatGPT specific stuff */
|
||||||
export const openAiEmail = process.env.OPENAI_EMAIL as string;
|
export const openAiEmail = process.env.OPENAI_EMAIL as string;
|
||||||
|
@ -51,6 +52,10 @@ if(matrixEncryption === undefined) {
|
||||||
console.error("MATRIX_ENCRYPTION env variable is undefined");
|
console.error("MATRIX_ENCRYPTION env variable is undefined");
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
if(matrixPrefix === undefined) {
|
||||||
|
console.error("MATRIX_PREFIX env variable is undefined");
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
if(openAiEmail === undefined) {
|
if(openAiEmail === undefined) {
|
||||||
console.error("OPENAI_EMAIL env variable is undefined");
|
console.error("OPENAI_EMAIL env variable is undefined");
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { ChatGPTAPIBrowser } from "chatgpt";
|
import { ChatGPTAPIBrowser } from "chatgpt";
|
||||||
import { MatrixClient } from "matrix-bot-sdk";
|
import { MatrixClient } from "matrix-bot-sdk";
|
||||||
import { matrixBotUsername } from "./config.js";
|
import { matrixBotUsername, matrixPrefix } from "./config.js";
|
||||||
import { isEventAMessage } from "./utils.js";
|
import { isEventAMessage } from "./utils.js";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,7 +19,15 @@ export async function handleRoomEvent(client: MatrixClient, chatGPT: ChatGPTAPIB
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isEventAMessage(event)) {
|
if (isEventAMessage(event)) {
|
||||||
const question: string = event.content.body;
|
let question: string;
|
||||||
|
if (matrixPrefix){
|
||||||
|
if (!event.content.body.startsWith(matrixPrefix)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
question = event.content.body.slice(matrixPrefix.length).trimStart();
|
||||||
|
} else {
|
||||||
|
question = event.content.body;
|
||||||
|
}
|
||||||
if (question === undefined) {
|
if (question === undefined) {
|
||||||
await client.sendReadReceipt(roomId, event.event_id);
|
await client.sendReadReceipt(roomId, event.event_id);
|
||||||
await client.sendText(roomId,
|
await client.sendText(roomId,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user