k44Eqha/prbridge/index.js

55 lines
2.0 KiB
JavaScript
Raw Normal View History

2019-06-28 01:14:59 +02:00
const PRClient = require("./PRClient.js");
2019-06-28 01:43:03 +02:00
let client = new PRClient({// account stuff
username: "Discord",
2019-07-02 02:25:53 +02:00
password: config.pr_password,
2019-06-28 01:43:03 +02:00
roomName: 'lobby'
});
2019-06-28 02:16:30 +02:00
global.prClient = client;
2019-06-28 01:52:15 +02:00
client.connect();
2019-06-28 01:43:03 +02:00
client.socket.on("setRoom", function (data, callback) {
client.roomID = data.roomID;
try {
if (client.channels.chatChannel && client.roomID) {
client.socket.destroyChannel(client.roomID);
}
} catch (err) {}
client.channels.chatChannel = client.socket.subscribe(data.roomID);
client.channels.chatChannel.watch(messagehandle);
2019-06-28 01:14:59 +02:00
})
2019-06-28 01:43:03 +02:00
async function messagehandle(data) {
2019-06-28 01:14:59 +02:00
if (data && data.type) {
switch (data.type) {
case "chat":
if (data && data.message) {
let name = data.name || "";
let effect = data.effect || "";
let roomName = data.roomName;
let color = data.color;
2020-02-10 00:05:30 +01:00
let id = data.sID || data.socketID || data.id;
if (id == client.socket.id) return;
2020-04-12 05:27:00 +02:00
let c = dClient.channels.resolve("593943518351982603");
let msg;
2020-02-10 00:05:30 +01:00
(!name && (data.message.startsWith("[i]"))) ? msg = `*${escapeDiscordMentions(data.message.split("[i]")[1])}*` : msg = `**${sanitizeName(name)}:** ${escapeDiscordMentions(data.message)}`;
if (c) c.send(msg);
2019-06-28 01:14:59 +02:00
}
break;
}
}
}
2019-06-28 01:43:03 +02:00
dClient.on("local_message", async message => {
2019-06-28 02:42:57 +02:00
if (message.channel.id != "593943518351982603" || message.author.id == dClient.user.id) return;
2019-06-28 02:06:10 +02:00
if (!client.roomID) return;
client.socket.publish(client.roomID, {
2019-06-28 01:43:03 +02:00
"type": "chat",
2019-06-28 02:31:56 +02:00
"message": `${message.member && message.member.displayName || message.author.username}#${message.author.discriminator}: ${message.cleanContent + (message.attachments.size > 0 && message.attachments.map(x => x.url).join(' ') || '')}`,
2019-06-28 01:43:03 +02:00
"value": false,
"socketID": "[discord.gg/k44Eqha]",
"uuid": "[discord.gg/k44Eqha]",
"color": "#8012ed",
"name": "[discord.gg/k44Eqha]"
2019-06-28 01:14:59 +02:00
});
2019-06-28 01:43:03 +02:00
});