aboutsummaryrefslogtreecommitdiff
path: root/bot/src/events
diff options
context:
space:
mode:
authorAndrew Lee <andrew@alee14.me>2025-03-08 17:23:34 -0500
committerAndrew Lee <andrew@alee14.me>2025-03-08 17:23:34 -0500
commit48a576ab5605ec3ec9272809668b8d7ce91c477e (patch)
tree7780c94dd6a39c5b5beae9edfc568e6669b88967 /bot/src/events
parent52f8826e526f0c0aadb86c3e29975aef4dc1ab85 (diff)
downloadAleeBot-48a576ab5605ec3ec9272809668b8d7ce91c477e.tar.gz
AleeBot-48a576ab5605ec3ec9272809668b8d7ce91c477e.tar.bz2
AleeBot-48a576ab5605ec3ec9272809668b8d7ce91c477e.zip
Put LLM output on text file; Some fixes in logging; New command
Diffstat (limited to 'bot/src/events')
-rw-r--r--bot/src/events/GuildMemberAdd.js10
-rw-r--r--bot/src/events/GuildMemberRemove.js2
-rw-r--r--bot/src/events/InteractionCreate.js2
-rw-r--r--bot/src/events/MessageBulkDelete.js9
-rw-r--r--bot/src/events/MessageCreate.js15
-rw-r--r--bot/src/events/MessageDelete.js2
-rw-r--r--bot/src/events/MessageUpdate.js2
7 files changed, 25 insertions, 17 deletions
diff --git a/bot/src/events/GuildMemberAdd.js b/bot/src/events/GuildMemberAdd.js
index 783b29e..1e3cd54 100644
--- a/bot/src/events/GuildMemberAdd.js
+++ b/bot/src/events/GuildMemberAdd.js
@@ -1,5 +1,6 @@
import { EmbedBuilder, Events } from 'discord.js';
import { guildSettings } from '../models/guild-settings.js';
+import { autoRole, serverWhitelist, roleWhitelist } from '../storage/consts.js';
export default {
name: Events.GuildMemberAdd,
@@ -9,7 +10,7 @@ export default {
const logEmbed = new EmbedBuilder()
.setAuthor({ name: 'AleeBot Logging', iconURL: member.client.user.avatarURL() })
- .setDescription('A user has joined this server!')
+ .setDescription('A user has joined this server.')
.addFields(
{ name: 'Username: ', value: `${member.user}`, inline: true },
{ name: 'User ID: ', value: `${member.id}`, inline: true },
@@ -22,5 +23,12 @@ export default {
if (!guildMember) return;
await guildMember.send({ embeds: [logEmbed] });
+
+ if (autoRole) {
+ if (member.guild.id !== serverWhitelist) return;
+ const role = member.guild.roles.cache.get(roleWhitelist);
+ member.roles.add(role);
+ console.log(`[i] ${member.user.username} joined Andrew Lee Projects, automatically giving them role.`.green);
+ }
}
};
diff --git a/bot/src/events/GuildMemberRemove.js b/bot/src/events/GuildMemberRemove.js
index c031211..aa44366 100644
--- a/bot/src/events/GuildMemberRemove.js
+++ b/bot/src/events/GuildMemberRemove.js
@@ -9,7 +9,7 @@ export default {
const logEmbed = new EmbedBuilder()
.setAuthor({ name: 'AleeBot Logging', iconURL: member.client.user.avatarURL() })
- .setDescription('A user has left this server!')
+ .setDescription('A user has left this server.')
.addFields(
{ name: 'Username: ', value: `${member.user.username}`, inline: true },
{ name: 'User ID: ', value: `${member.id}`, inline: true },
diff --git a/bot/src/events/InteractionCreate.js b/bot/src/events/InteractionCreate.js
index 8f1e998..ac979d2 100644
--- a/bot/src/events/InteractionCreate.js
+++ b/bot/src/events/InteractionCreate.js
@@ -1,7 +1,7 @@
import { Events, MessageFlags } from 'discord.js';
function error(e) {
- return `Something went wrong. [Submit an issue at the AleeBot repository.](<https://github.com/Alee14/AleeBot/issues>)\nMessage:\n\`\`\`${e.stack}\`\`\``;
+ return `Something went wrong. [Submit an issue at the AleeBot repository.](<https://github.com/Alee14/AleeBot/issues>)\nMessage:\n\`\`\`js\n${e.stack}\`\`\``;
}
export default {
diff --git a/bot/src/events/MessageBulkDelete.js b/bot/src/events/MessageBulkDelete.js
index 1595012..92db987 100644
--- a/bot/src/events/MessageBulkDelete.js
+++ b/bot/src/events/MessageBulkDelete.js
@@ -9,16 +9,17 @@ export default {
const logEmbed = new EmbedBuilder()
.setAuthor({ name: 'AleeBot Logging', iconURL: channel.client.user.avatarURL() })
- .setDescription(`A bulk of ${msg.size} messages was deleted in ${channel}`)
+ .setDescription(`A bulk of ${msg.size} messages were deleted in ${channel}`)
.setColor('#ff021b')
.setTimestamp();
let messages = [];
msg.forEach(message => {
- messages.push(message.createdAt.toUTCString());
- messages.push(`${message.author.username} - ${message.author.id}`);
- messages.push(message.content);
+ messages.push(`[${message.createdAt.toUTCString()}]`);
+ messages.push(`${message.author.username} (${message.author.id})`);
+ messages.push(`Message (${message.id}): ${message.content}`);
+ messages.push('-----------------------------------');
});
const messageContent = messages.join('\n');
diff --git a/bot/src/events/MessageCreate.js b/bot/src/events/MessageCreate.js
index e7af3a8..8753587 100644
--- a/bot/src/events/MessageCreate.js
+++ b/bot/src/events/MessageCreate.js
@@ -1,4 +1,4 @@
-import { Events } from 'discord.js';
+import {AttachmentBuilder, Events} from 'discord.js';
import { ollama } from '../utils/ollama.js';
import { ollamaGlobal, ollamaModel } from '../storage/consts.js';
import { guildSettings } from '../models/guild-settings.js';
@@ -12,11 +12,11 @@ export default {
const guildSetting = await guildSettings.findOne({ where: { guildID: msg.guild.id } });
- const args = msg.content.slice(`<@${msg.client.user.id}>`.length).trim();
+ const args = msg.content.slice(`${msg.client.user}`.length).trim();
if (msg.mentions.has(msg.client.user)) {
if (!guildSetting.ollamaEnabled) return;
- if (!ollamaGlobal) return msg.reply('Sorry, this feature has been turned off.');
+ if (!ollamaGlobal) return msg.reply('Sorry, the LLM chatbot feature has been turned off.');
if (!args) return msg.reply('Sorry? What was that?');
try {
@@ -26,15 +26,12 @@ export default {
});
let content = response.message.content;
- content = content.replace(/<think>.*?<\/think>/g, '');
if (content.length > 2000) {
- const chunks = content.match(/[\s\S]{1,2000}/g) || [];
- for (const chunk of chunks) {
- await msg.reply({ content: chunk });
- }
+ const attachment = new AttachmentBuilder(Buffer.from(content, 'utf-8'), { name: 'output.txt' });
+ return await msg.reply({ files: [attachment] });
} else {
- await msg.reply({ content });
+ return await msg.reply({ content });
}
} catch (err) {
diff --git a/bot/src/events/MessageDelete.js b/bot/src/events/MessageDelete.js
index 62f8536..154940b 100644
--- a/bot/src/events/MessageDelete.js
+++ b/bot/src/events/MessageDelete.js
@@ -15,7 +15,7 @@ export default {
.addFields({ name: 'Deleted Message: ', value: `\`\`\`${msg.content}\`\`\`` })
.setColor('#ff021b')
.setTimestamp()
- .setFooter(`Author ID: ${msg.author.id}`);
+ .setFooter({ text: `Author ID: ${msg.author.id}` });
let deleteMessage = msg.client.channels.cache.get(guildSetting.logChannelID);
if (!deleteMessage) return;
diff --git a/bot/src/events/MessageUpdate.js b/bot/src/events/MessageUpdate.js
index f4cb769..7fc5e1b 100644
--- a/bot/src/events/MessageUpdate.js
+++ b/bot/src/events/MessageUpdate.js
@@ -1,6 +1,8 @@
import { EmbedBuilder, Events } from 'discord.js';
import { guildSettings } from '../models/guild-settings.js';
+// bug: whenever a long message is edited, the bot crashes; also make sure that the log has newline
+
export default {
name: Events.MessageUpdate,
async execute(msg, newmsg) {