From 32137dacb01fd4979d6020ae116a5a2dadad4e05 Mon Sep 17 00:00:00 2001
From: Kevin Dang <77701718+kevinthedang@users.noreply.github.com>
Date: Sat, 4 Oct 2025 20:17:26 -0700
Subject: [PATCH] Add: Filter out think tags in bot message (#190)
---
docker-compose.yml | 2 +-
package-lock.json | 4 ++--
package.json | 2 +-
src/utils/messageNormal.ts | 8 ++++++++
4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/docker-compose.yml b/docker-compose.yml
index 9fc3a78..8baf88b 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -7,7 +7,7 @@ services:
build: ./ # find docker file in designated path
container_name: discord
restart: always # rebuild container always
- image: kevinthedang/discord-ollama:0.8.6
+ image: kevinthedang/discord-ollama:0.8.7
environment:
CLIENT_TOKEN: ${CLIENT_TOKEN}
OLLAMA_IP: ${OLLAMA_IP}
diff --git a/package-lock.json b/package-lock.json
index deea55f..aba533c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "discord-ollama",
- "version": "0.8.5",
+ "version": "0.8.7",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "discord-ollama",
- "version": "0.8.5",
+ "version": "0.8.7",
"license": "ISC",
"dependencies": {
"discord.js": "^14.20.0",
diff --git a/package.json b/package.json
index 99e8aa3..2165e30 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "discord-ollama",
- "version": "0.8.6",
+ "version": "0.8.7",
"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 969f388..64d0d1e 100644
--- a/src/utils/messageNormal.ts
+++ b/src/utils/messageNormal.ts
@@ -56,6 +56,10 @@ export async function normalMessage(
response = await blockResponse(params)
result = response.message.content
+ // check if there is a ... sequence from the bot.
+ if (hasThinking(result))
+ result = result.replace(/[\s\S]*?<\/think>/g, '').trim()
+
// check if message length > discord max for normal messages
if (result.length > 2000) {
sentMessage.edit(result.slice(0, 2000))
@@ -85,3 +89,7 @@ export async function normalMessage(
// return the string representation of ollama query response
return result
}
+
+function hasThinking(message: string): boolean {
+ return /[\s\S]*?<\/think>/i.test(message)
+}