Upgrade Node to Krypton (#200)

* node 24 and vulnerabilities

* ready is clientReady

* better about section
This commit is contained in:
Kevin Dang
2026-09-23 09:52:28 -07:00
committed by GitHub
parent 0beaed85aa
commit 2c25f7f500
7 changed files with 881 additions and 279 deletions
+3 -3
View File
@@ -18,7 +18,7 @@ jobs:
- name: Set up Node Environment
uses: actions/setup-node@v4
with:
node-version: lts/jod
node-version: lts/krypton
cache: npm
- name: Install Project Dependencies
@@ -45,7 +45,7 @@ jobs:
Discord-Ollama-Container-Build: # test docker build and run
runs-on: ubuntu-latest
timeout-minutes: 2
timeout-minutes: 3
steps:
- name: Checkout Repository
uses: actions/checkout@v4
@@ -53,7 +53,7 @@ jobs:
- name: Set up Node Environment
uses: actions/setup-node@v4
with:
node-version: lts/jod
node-version: lts/krypton
cache: npm
- name: Create Environment Variables
+2 -2
View File
@@ -1,5 +1,5 @@
# use node LTS image for version 22
FROM node:jod-alpine
# use node LTS image for version 24
FROM node:krypton-alpine
# set working directory inside container
WORKDIR /app
+8 -29
View File
@@ -8,36 +8,15 @@
<a href="#"></a><a href="https://github.com/kevinthedang/discord-ollama/actions/workflows/test.yml"><img alt="Tests" src="https://github.com/kevinthedang/discord-ollama/actions/workflows/test.yml/badge.svg" /></a>
</div>
## About/Goals
Ollama is an AI model management tool that allows users to install and use custom large language models locally.
The project aims to:
* [x] Create a Discord bot that will utilize Ollama and chat to chat with users!
* [x] User and Server Preferences
* [x] Message Persistance
* [x] Containerization with Docker
* [x] Slash Commands Compatible
* [x] Summary Command
* [ ] Model Info Command
* [ ] List Models Command
* [x] Pull Model Command
* [x] Switch Model Command
* [x] Delete Model Command
* [x] Create Thread Command
* [x] Create Private Thread Command
* [x] Message Stream Command
* [x] Change Message History Size Command
* [x] Clear Channel History Command (User Only)
* [x] Administrator Role Compatible
* [x] Generated Token Length Handling for >2000
* [x] Token Length Handling of any message size
* [x] Multi-User Chat Generation - This was built in from Ollama `v0.2.1+`
* [ ] Ollama Tool Support Implementation
* [ ] Enhanced Channel Context Awareness
* [ ] Improved User Replied Triggers
## About
Discord Ollama is a Discord bot that lets users interact with locally hosted
Ollama language models directly from Discord.
Further, Ollama provides the functionality to utilize custom models or provide context for the top-layer of any model available through the Ollama model library.
* [Customize a model](https://github.com/ollama/ollama#customize-a-model)
* [Modelfile Docs](https://github.com/ollama/ollama/blob/main/docs/modelfile.md)
The bot supports model management, streamed responses, conversation history,
private threads, and configurable server controls. Because Ollama runs locally,
you retain control over the models and data used by the bot.
See the [setup guides](./docs/setup-local.md) to get started.
## Documentation
These are guides to the features and capabilities of this app.
+1 -1
View File
@@ -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.9.1
image: kevinthedang/discord-ollama:0.9.2
environment:
CLIENT_TOKEN: ${CLIENT_TOKEN}
LLM_ENDPOINT: ${LLM_ENDPOINT:-${OLLAMA_IP}} # OLLAMA_IP is a deprecated alias
+864 -241
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "discord-ollama",
"version": "0.9.1",
"version": "0.9.2",
"description": "Ollama Integration into discord",
"main": "build/index.js",
"exports": "./build/index.js",
@@ -39,6 +39,6 @@
"type": "module",
"engines": {
"npm": ">=10.9.0",
"node": ">=22.12.0"
"node": ">=24.0.0"
}
}
+1 -1
View File
@@ -26,6 +26,6 @@ describe('Events Existence', () => {
// test specific events in the object
it('references specific events', () => {
const eventsString = events.map(e => e.key.toString()).join(', ')
expect(eventsString).toBe('ready, messageCreate, interactionCreate, threadDelete')
expect(eventsString).toBe('clientReady, messageCreate, interactionCreate, threadDelete')
})
})