aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lee <andrew@alee14.me>2025-03-27 01:59:14 -0400
committerAndrew Lee <andrew@alee14.me>2025-03-27 01:59:14 -0400
commit7b9a58cac0b59a73562d68540292e89f57bf30cf (patch)
treebb4c8344ef0e461e4ab5c7b47ebca904819fcb59
parent598e23ab48f29e13b490ac15acc6f7bbe3671028 (diff)
downloadAleeBot-7b9a58cac0b59a73562d68540292e89f57bf30cf.tar.gz
AleeBot-7b9a58cac0b59a73562d68540292e89f57bf30cf.tar.bz2
AleeBot-7b9a58cac0b59a73562d68540292e89f57bf30cf.zip
More activities; LLM model now needs .env; No longer need to confirm a pending quote
-rw-r--r--bot/.env.example1
-rw-r--r--bot/src/plugins/chatbot.js5
-rw-r--r--bot/src/storage/activities.js20
-rw-r--r--bot/src/storage/consts.js1
-rw-r--r--web/src/app/quotes/page.js100
5 files changed, 69 insertions, 58 deletions
diff --git a/bot/.env.example b/bot/.env.example
index 40766e0..c132012 100644
--- a/bot/.env.example
+++ b/bot/.env.example
@@ -3,6 +3,7 @@ PORT=3010
CLIENT_ID=[Bot ID]
STATUS_CHANNEL_ID=[Channel ID]
OLLAMA_URL=[Ollama API URL]
+OLLAMA_MODEL=[LLM]
JWT_SECRET=[openssl rand -base64 32]
API_USERNAME=admin
diff --git a/bot/src/plugins/chatbot.js b/bot/src/plugins/chatbot.js
index 17a26ee..efd2ff5 100644
--- a/bot/src/plugins/chatbot.js
+++ b/bot/src/plugins/chatbot.js
@@ -1,7 +1,8 @@
-import { ollamaGlobal, ollamaModel } from '../storage/consts.js';
+import { ollamaGlobal } from '../storage/consts.js';
import { ollama } from '../utils/ollama.js';
import { AttachmentBuilder } from 'discord.js';
import { guildSettings } from '../models/guild-settings.js';
+import 'dotenv/config';
export async function ChatBot(msg, args) {
const guildSetting = await guildSettings.findOne({ where: { guildID: msg.guild.id } });
@@ -13,7 +14,7 @@ export async function ChatBot(msg, args) {
const loadingMessage = await msg.reply('Thinking...');
const response = await ollama.chat({
- model: ollamaModel,
+ model: process.env.OLLAMA_MODEL,
messages: [{ role: 'user', content: args }],
});
diff --git a/bot/src/storage/activities.js b/bot/src/storage/activities.js
index 73051de..9394e15 100644
--- a/bot/src/storage/activities.js
+++ b/bot/src/storage/activities.js
@@ -97,6 +97,8 @@ export const activities = [
{ name: 'Linux, but actually GNU/Linux', type: 0 },
{ name: 'Debloating my ThinkPad', type: 4 },
{ name: 'Turbotastic!', type: 4 },
+ { name: 'Leap of Faith', type: 0 },
+ { name: 'Lexi Dimante', type: 2 },
{ name: 'Artemis', type: 0 },
{ name: 'Helping Kapuletti Industries', type: 4 },
{ name: 'Frank (The Game)', type: 0 },
@@ -116,8 +118,8 @@ export const activities = [
{ name: '86Box', type: 0 },
{ name: 'AIM', type: 0 },
{ name: 'Software Inc.', type: 0 },
- { name: 'Nintendo GameBoy', type: 0 },
- { name: 'Nintendo GameBoy Advanced', type: 0 },
+ { name: 'Nintendo Game Boy', type: 0 },
+ { name: 'Nintendo Game Boy Advance', type: 0 },
{ name: 'Nintendo DS', type: 0 },
{ name: 'Nintendo DSi', type: 0 },
{ name: 'Nintendo 3DS', type: 0 },
@@ -129,5 +131,17 @@ export const activities = [
{ name: 'Nintendo Wii U', type: 0 },
{ name: 'Nintendo Switch', type: 0 },
{ name: 'Nintendo Switch 2', type: 0 },
- { name: 'Sony Playstation 2', type: 0 }
+ { name: 'Sony Playstation', type: 0 },
+ { name: 'Sony Playstation 2', type: 0 },
+ { name: 'Sony Playstation 3', type: 0 },
+ { name: 'Sony Playstation 4', type: 0 },
+ { name: 'Sony Playstation 5', type: 0 },
+ { name: 'Microsoft Xbox', type: 0 },
+ { name: 'Microsoft Xbox 360', type: 0 },
+ { name: 'Microsoft Xbox One', type: 0 },
+ { name: 'Microsoft Xbox Series X', type: 0 },
+ { name: 'Microsoft Xbox Series S', type: 0 },
+ { name: 'Dance Dance Revolution', type: 0 },
+ { name: 'Dance Dance Revolution SuperNOVA', type: 0 },
+ { name: 'Pump It Up', type: 0 }
];
diff --git a/bot/src/storage/consts.js b/bot/src/storage/consts.js
index 231f5ca..b62d218 100644
--- a/bot/src/storage/consts.js
+++ b/bot/src/storage/consts.js
@@ -1,6 +1,5 @@
export const abEmbedColour = '#0066a6';
export const ollamaGlobal = true;
-export const ollamaModel = 'aleebot-deepseek';
export const featureSuggestChannel = '427495678390960148';
export const userWhitelist = ['242775871059001344'];
diff --git a/web/src/app/quotes/page.js b/web/src/app/quotes/page.js
index 27ae439..0dde1ec 100644
--- a/web/src/app/quotes/page.js
+++ b/web/src/app/quotes/page.js
@@ -86,64 +86,60 @@ export default function Quotes() {
};
const handleApproveQuote = async (id) => {
- if (window.confirm('Are you sure you want to approve this quote?')) {
- try {
- const response = await fetchWithAuth('/api/quotes/approve', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({ id })
- });
-
- if (!response.ok) {
- throw new Error('Failed to approve quote');
- }
-
- setMessage({
- type: 'success',
- text: 'Quote approved successfully'
- });
-
- // Refresh quotes
- fetchPendingQuotes();
- } catch (err) {
- setMessage({
- type: 'error',
- text: err.message
- });
+ try {
+ const response = await fetchWithAuth('/api/quotes/approve', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: JSON.stringify({ id })
+ });
+
+ if (!response.ok) {
+ throw new Error('Failed to approve quote');
}
+
+ setMessage({
+ type: 'success',
+ text: 'Quote approved successfully'
+ });
+
+ // Refresh quotes
+ fetchPendingQuotes();
+ } catch (err) {
+ setMessage({
+ type: 'error',
+ text: err.message
+ });
}
};
const handleRejectQuote = async (id) => {
- if (window.confirm('Are you sure you want to reject this quote?')) {
- try {
- const response = await fetchWithAuth('/api/quotes/reject', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify({ id })
- });
-
- if (!response.ok) {
- throw new Error('Failed to reject quote');
- }
-
- setMessage({
- type: 'success',
- text: 'Quote rejected successfully'
- });
-
- // Refresh quotes
- fetchPendingQuotes();
- } catch (err) {
- setMessage({
- type: 'error',
- text: err.message
- });
+ try {
+ const response = await fetchWithAuth('/api/quotes/reject', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: JSON.stringify({ id })
+ });
+
+ if (!response.ok) {
+ throw new Error('Failed to reject quote');
}
+
+ setMessage({
+ type: 'success',
+ text: 'Quote rejected successfully'
+ });
+
+ // Refresh quotes
+ fetchPendingQuotes();
+ } catch (err) {
+ setMessage({
+ type: 'error',
+ text: err.message
+ });
}
};