Fix a small issue with the replies

This commit is contained in:
2025-09-19 23:59:24 +02:00
parent 311e66cce6
commit 69bca511ca
3 changed files with 25 additions and 25 deletions

Binary file not shown.

View File

@@ -64,6 +64,6 @@ node bot.js
- For secure IRC connections, ensure `tls: true` and correct port
# Warning:
I would not reccomend using this in a active room since that might get the bot/userbot rate limited which is not good !
I would not reccomend using this in a active room since that might get the bot/userbot rate limited on Discord OR IRC which is not good !
Also Using Userbots is against Discord's Terms of Service so your account/bot might get deactived. This has not happen yet but it is still possible.

48
bot.js
View File

@@ -59,32 +59,33 @@ function createIRCClient(bridge) {
});
client.on("connecting", () =>
logDebug(`🔌 Connecting to ${ircConfig.server}:${ircConfig.port} ...`)
logDebug(`Connecting to ${ircConfig.server}:${ircConfig.port} ...`)
);
client.on("connected", () =>
logDebug(`TCP connection established to ${ircConfig.server}`)
logDebug(`TCP connection established to ${ircConfig.server}`)
);
client.on("registered", () => {
console.log(
`Connected to IRC ${ircConfig.server} as ${ircConfig.nick}, joining ${ircConfig.channel}`
);
client.join(ircConfig.channel, () =>
logDebug(`➡️ Sent JOIN for ${ircConfig.channel}`)
logDebug(`Sent JOIN for ${ircConfig.channel}`)
);
});
client.on("join", (event) =>
logDebug(`🎉 Joined ${event.channel} as ${event.nick}`)
logDebug(`Joined ${event.channel} as ${event.nick}`)
);
client.on("error", (event) =>
console.error(`IRC error on ${ircConfig.server}:`, event)
);
client.on("socket close", () =>
logDebug(`Socket closed for ${ircConfig.server}`)
logDebug(`Socket closed for ${ircConfig.server}`)
);
client.on("socket error", (err) =>
console.error(`⚠️ Socket error on ${ircConfig.server}:`, err)
console.error(`Socket error on ${ircConfig.server}:`, err)
);
client.on("message", (event) => {
if (event.nick === ircConfig.nick) return; // Skip self
const ircMessage = `<${event.nick}> ${event.message}`;
@@ -95,7 +96,9 @@ function createIRCClient(bridge) {
client.on("relaymsg", (event) => {
const discordChannel = discordClient.channels.cache.get(discordChannelId);
if (discordChannel)
discordChannel.send(`[relay ${event.nick}] ${event.message}`).catch(console.error);
discordChannel
.send(`[relay ${event.nick}] ${event.message}`)
.catch(console.error);
});
if (DEBUG) {
@@ -135,28 +138,25 @@ discordClient.on("messageCreate", async (message) => {
}
}
// Handle quoted replies
// Handle quoted replies (text only) in one line
let quote = "";
if (message.reference && message.reference.messageId) {
try {
const referencedMessage = await message.channel.messages.fetch(
message.reference.messageId
);
if (referencedMessage) {
const refMember =
referencedMessage.guild &&
(await referencedMessage.guild.members.fetch(
referencedMessage.author.id
).catch(() => null));
const refAuthor = refMember
? refMember.displayName
: referencedMessage.author.username;
const refContent = referencedMessage.content || "[Embed/Attachment]";
const quotedLines = refContent
.split("\n")
.map((line) => `> ${line}`)
.join("\n");
quote = `> ${refAuthor} said:\n${quotedLines}\n`;
if (referencedMessage.content) {
let refAuthor = referencedMessage.author.username;
if (referencedMessage.guild) {
const member = await referencedMessage.guild.members
.fetch(referencedMessage.author.id)
.catch(() => null);
if (member) refAuthor = member.displayName;
}
const originalText = referencedMessage.content.replace(/\n/g, " ");
quote = `<${refAuthor}> said: ${originalText} | `;
}
} catch (err) {
logDebug("Failed to fetch referenced message:", err);
@@ -166,7 +166,7 @@ discordClient.on("messageCreate", async (message) => {
// Build message text
let discordMessage = `${quote}<${nickname}> ${message.content}`;
// Append attachment URLs (images/files)
// Append attachment URLs
if (message.attachments.size > 0) {
const urls = message.attachments.map((att) => att.url).join(" ");
discordMessage += ` [Attachments: ${urls}]`;