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