diff --git a/docker-compose.yml b/docker-compose.yml index 8af38a3..39cd4e5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,7 +8,7 @@ services: build: ./ # find docker file in designated path container_name: discord restart: always # rebuild container always - image: discord/bot:0.5.0 + image: discord/bot:0.5.1 environment: CLIENT_TOKEN: ${CLIENT_TOKEN} GUILD_ID: ${GUILD_ID} diff --git a/package-lock.json b/package-lock.json index e294e2b..e342d69 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "discord-ollama", - "version": "0.5.0", + "version": "0.5.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "discord-ollama", - "version": "0.5.0", + "version": "0.5.1", "license": "ISC", "dependencies": { "discord.js": "^14.14.1", diff --git a/package.json b/package.json index 8fb10b1..2979e2f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "discord-ollama", - "version": "0.5.0", + "version": "0.5.1", "description": "Ollama Integration into discord", "main": "build/index.js", "exports": "./build/index.js", diff --git a/src/utils/messageNormal.ts b/src/utils/messageNormal.ts index a698c2e..f6a9487 100644 --- a/src/utils/messageNormal.ts +++ b/src/utils/messageNormal.ts @@ -32,19 +32,23 @@ export async function normalMessage( // run query based on stream preference, true = stream, false = block if (stream) { - response = await streamResponse(params) + let messageBlock: Message = sentMessage + response = await streamResponse(params) // THIS WILL BE SLOW due to discord limits! for await (const portion of response) { - // append token to message - result += portion.message.content + // check if over discord message limit + if (result.length + portion.message.content.length > 2000) { + result = portion.message.content - // exceeds handled length - if (result.length > 2000) { - message.channel.send(`Response length ${result.length} has exceeded Discord maximum.\n\nLong Stream messages not supported.`) - break // stop stream - } - - // resent current output, THIS WILL BE SLOW due to discord limits! - sentMessage.edit(result || 'No Content Yet...') + // new message block, wait for it to send and assign new block to respond. + await message.channel.send("Creating new stream block...").then(sentMessage => { messageBlock = sentMessage }) + } else { + result += portion.message.content + + // ensure block is not empty + if (result.length > 5) + messageBlock.edit(result) + } + console.log(result) } } else {