Fix a small issue with the replies
This commit is contained in:
Binary file not shown.
@@ -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
48
bot.js
@@ -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}]`;
|
||||
|
||||
Reference in New Issue
Block a user