normalize indents
This commit is contained in:
parent
1af74e957d
commit
e21a264ed0
66
config.js
66
config.js
|
@ -1,47 +1,47 @@
|
||||||
global.testmode = process.env.TEST ? true : false;
|
global.testmode = process.env.TEST ? true : false;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
"DISCORD_TOKEN": process.env.DISCORD_TOKEN,
|
"DISCORD_TOKEN": process.env.DISCORD_TOKEN,
|
||||||
|
|
||||||
"webhooks": {
|
"webhooks": {
|
||||||
"welcome": process.env.WEBHOOK_WELCOME,
|
"welcome": process.env.WEBHOOK_WELCOME,
|
||||||
"error": process.env.WEBHOOK_ERROR,
|
"error": process.env.WEBHOOK_ERROR,
|
||||||
"ddp": process.env.WEBHOOK_DDP,
|
"ddp": process.env.WEBHOOK_DDP,
|
||||||
"pinboard": process.env.WEBHOOK_PINBOARD
|
"pinboard": process.env.WEBHOOK_PINBOARD
|
||||||
},
|
},
|
||||||
|
|
||||||
"opID": "330499035419115522",
|
"opID": "330499035419115522",
|
||||||
"guildID": testmode ? "467473467634089985" : "321819041348190249",
|
"guildID": testmode ? "467473467634089985" : "321819041348190249",
|
||||||
|
|
||||||
"channels": { // includes voice channels & category channels
|
"channels": { // includes voice channels & category channels
|
||||||
"main": testmode ? "467473467634089987" : "321819041348190249",
|
"main": testmode ? "467473467634089987" : "321819041348190249",
|
||||||
"view_deleted_channels": testmode ? "467473467634089989" : "425060452129701889",
|
"view_deleted_channels": testmode ? "467473467634089989" : "425060452129701889",
|
||||||
"name_collection": testmode ? "467481952728121345" : '379738469511069698',
|
"name_collection": testmode ? "467481952728121345" : '379738469511069698',
|
||||||
"mpp_bridges": testmode ? "467481904707534850" : '360557444952227851',
|
"mpp_bridges": testmode ? "467481904707534850" : '360557444952227851',
|
||||||
"user_channels": testmode ? "467482031157149709" : '399735134061985792',
|
"user_channels": testmode ? "467482031157149709" : '399735134061985792',
|
||||||
"deleted_channels": testmode ? "467482085657935872" : '425054198699261953',
|
"deleted_channels": testmode ? "467482085657935872" : '425054198699261953',
|
||||||
"deleted_bridges": testmode ? "467482121657778176" : '696954288752164914',
|
"deleted_bridges": testmode ? "467482121657778176" : '696954288752164914',
|
||||||
"mpp_screenshot": testmode ? "467482164611514388" : '383773548810076163',
|
"mpp_screenshot": testmode ? "467482164611514388" : '383773548810076163',
|
||||||
"owop_screenshot": testmode ? "467482202217906226" : '399079481161023492'
|
"owop_screenshot": testmode ? "467482202217906226" : '399079481161023492'
|
||||||
},
|
},
|
||||||
|
|
||||||
"roles": {
|
"roles": {
|
||||||
"viewing_deleted_channels": testmode ? "467473718353068042" : "425060792455397376",
|
"viewing_deleted_channels": testmode ? "467473718353068042" : "425060792455397376",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"mppname": "[discord.gg/k44Eqha]",
|
"mppname": "[discord.gg/k44Eqha]",
|
||||||
"disabledRooms": [
|
"disabledRooms": [
|
||||||
"RP Room",
|
"RP Room",
|
||||||
"Legends of Alorgon {RP Room}",
|
"Legends of Alorgon {RP Room}",
|
||||||
"Legends of Alorgon",
|
"Legends of Alorgon",
|
||||||
"Breastmilk ♥ 7:45 AM"
|
"Breastmilk ♥ 7:45 AM"
|
||||||
],
|
],
|
||||||
|
|
||||||
"owop_captcha_password": process.env.OWOP_CAPTCHA_PASSWORD,
|
"owop_captcha_password": process.env.OWOP_CAPTCHA_PASSWORD,
|
||||||
"pr_password": process.env.PR_PASSWORD,
|
"pr_password": process.env.PR_PASSWORD,
|
||||||
"mpc_token": process.env.MPC_TOKEN,
|
"mpc_token": process.env.MPC_TOKEN,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
80
ddpbridge.js
80
ddpbridge.js
|
@ -9,56 +9,56 @@ var wasConnected = false;
|
||||||
//var myId;
|
//var myId;
|
||||||
|
|
||||||
var wsc = new WebSocketMessageCollector(async function(data, startDate, endDate){
|
var wsc = new WebSocketMessageCollector(async function(data, startDate, endDate){
|
||||||
await webhook.send({files:[{
|
await webhook.send({files:[{
|
||||||
attachment: data,
|
attachment: data,
|
||||||
name: `daydun piano main raw data recording from ${startDate.toISOString()} to ${endDate.toISOString()} .txt.gz`
|
name: `daydun piano main raw data recording from ${startDate.toISOString()} to ${endDate.toISOString()} .txt.gz`
|
||||||
}]});
|
}]});
|
||||||
});
|
});
|
||||||
|
|
||||||
(function connect() {
|
(function connect() {
|
||||||
ws = new WebSocket("wss://daydun.com:5012/?nick=%5Bdiscord.gg%2Fk44Eqha%5D");
|
ws = new WebSocket("wss://daydun.com:5012/?nick=%5Bdiscord.gg%2Fk44Eqha%5D");
|
||||||
ws.on("open", () => {
|
ws.on("open", () => {
|
||||||
if (!wasConnected) send2discord("**Connected**");
|
if (!wasConnected) send2discord("**Connected**");
|
||||||
wasConnected = true;
|
wasConnected = true;
|
||||||
});
|
});
|
||||||
ws.on("message", message => {
|
ws.on("message", message => {
|
||||||
wsc.collect(message);
|
wsc.collect(message);
|
||||||
if (typeof message != 'string') return;
|
if (typeof message != 'string') return;
|
||||||
var transmission = JSON.parse(message);
|
var transmission = JSON.parse(message);
|
||||||
if (transmission.type == 'chat') {
|
if (transmission.type == 'chat') {
|
||||||
let chatmsg = transmission.message;
|
let chatmsg = transmission.message;
|
||||||
if (chatmsg.type == "message") {
|
if (chatmsg.type == "message") {
|
||||||
//if (chatmsg.id != myId)
|
//if (chatmsg.id != myId)
|
||||||
if (!chatmsg.content.startsWith('\u034f'))
|
if (!chatmsg.content.startsWith('\u034f'))
|
||||||
send2discord(`**${sanitizeName(chatmsg.user.nick)}:** ${chatmsg.content}`);
|
send2discord(`**${sanitizeName(chatmsg.user.nick)}:** ${chatmsg.content}`);
|
||||||
} else if (chatmsg.type == "join") {
|
} else if (chatmsg.type == "join") {
|
||||||
send2discord(`__***${sanitizeName(chatmsg.nick || chatmsg.id)} joined.***__`);
|
send2discord(`__***${sanitizeName(chatmsg.nick || chatmsg.id)} joined.***__`);
|
||||||
} else if (chatmsg.type == "leave") {
|
} else if (chatmsg.type == "leave") {
|
||||||
send2discord(`__***${sanitizeName(chatmsg.nick || chatmsg.id)} left.***__`);
|
send2discord(`__***${sanitizeName(chatmsg.nick || chatmsg.id)} left.***__`);
|
||||||
}
|
}
|
||||||
} /*else if (transmission.type == 'load') {
|
} /*else if (transmission.type == 'load') {
|
||||||
myId = transmission.id;
|
myId = transmission.id;
|
||||||
}*/
|
}*/
|
||||||
});
|
});
|
||||||
ws.on("error", error => handleError(error));
|
ws.on("error", error => handleError(error));
|
||||||
ws.on("close", () => {
|
ws.on("close", () => {
|
||||||
if (wasConnected) send2discord("**Disconnected**");
|
if (wasConnected) send2discord("**Disconnected**");
|
||||||
wasConnected = false;
|
wasConnected = false;
|
||||||
setTimeout(connect, 5000);
|
setTimeout(connect, 5000);
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
function send2discord(message) {
|
function send2discord(message) {
|
||||||
webhook.send(message.substring(0,2000));
|
webhook.send(message.substring(0,2000));
|
||||||
}
|
}
|
||||||
|
|
||||||
function send2ddp(message) {
|
function send2ddp(message) {
|
||||||
if (ws.readyState == WebSocket.OPEN) ws.send(JSON.stringify({type:"chat",message}));
|
if (ws.readyState == WebSocket.OPEN) ws.send(JSON.stringify({type:"chat",message}));
|
||||||
}
|
}
|
||||||
|
|
||||||
dClient.on("messageCreate", message => {
|
dClient.on("messageCreate", message => {
|
||||||
if (message.channel.id != "508890674138054667" || message.author.bot) return;
|
if (message.channel.id != "508890674138054667" || message.author.bot) return;
|
||||||
var x = message.cleanContent;
|
var x = message.cleanContent;
|
||||||
if (message.attachments.size > 0) x += ' ' + message.attachments.map(a => a.url).join(' ');
|
if (message.attachments.size > 0) x += ' ' + message.attachments.map(a => a.url).join(' ');
|
||||||
send2ddp(`\u034f${message.member.displayName}#${message.author.discriminator}: ${x}`);
|
send2ddp(`\u034f${message.member.displayName}#${message.author.discriminator}: ${x}`);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
var gzip = require("util").promisify(require("zlib").gzip);
|
var gzip = require("util").promisify(require("zlib").gzip);
|
||||||
|
|
||||||
module.exports = class WebSocketMessageCollector {
|
module.exports = class WebSocketMessageCollector {
|
||||||
constructor(dispatchFunction) {
|
constructor(dispatchFunction) {
|
||||||
this.maxSize = 8000000;
|
this.maxSize = 8000000;
|
||||||
this.data = "";
|
this.data = "";
|
||||||
this.startDate = new Date();
|
this.startDate = new Date();
|
||||||
this.dispatchFunction = dispatchFunction;
|
this.dispatchFunction = dispatchFunction;
|
||||||
exitHook(cb => {
|
exitHook(cb => {
|
||||||
this.package().then(cb);
|
this.package().then(cb);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
collect(message) {
|
collect(message) {
|
||||||
message = message.data || message;
|
message = message.data || message;
|
||||||
if (message instanceof ArrayBuffer) message = Buffer.from(message).toString('base64');
|
if (message instanceof ArrayBuffer) message = Buffer.from(message).toString('base64');
|
||||||
var line = `${Date.now()} ${message}\n`;
|
var line = `${Date.now()} ${message}\n`;
|
||||||
this.data += line;
|
this.data += line;
|
||||||
if (this.data.length > this.maxSize) this.package();
|
if (this.data.length > this.maxSize) this.package();
|
||||||
}
|
}
|
||||||
|
|
||||||
async package() {
|
async package() {
|
||||||
var data = this.data, startDate = this.startDate, endDate = new Date();
|
var data = this.data, startDate = this.startDate, endDate = new Date();
|
||||||
this.data = "", this.startDate = new Date();
|
this.data = "", this.startDate = new Date();
|
||||||
data = await gzip(data);
|
data = await gzip(data);
|
||||||
await this.dispatchFunction(data, startDate, endDate);
|
await this.dispatchFunction(data, startDate, endDate);
|
||||||
}
|
}
|
||||||
}
|
}
|
108
misc.js
108
misc.js
|
@ -1,83 +1,73 @@
|
||||||
// join/leave
|
// join/leave
|
||||||
(async function(){
|
(async function(){
|
||||||
var webhook = new Discord.WebhookClient({url: config.webhooks.welcome}, {allowedMentions: {parse: []}});
|
var webhook = new Discord.WebhookClient({url: config.webhooks.welcome}, {allowedMentions: {parse: []}});
|
||||||
dClient.on('guildMemberAdd', async member => {
|
dClient.on('guildMemberAdd', async member => {
|
||||||
if (member.guild.id != config.guildID) return;
|
if (member.guild.id != config.guildID) return;
|
||||||
let username = member.user.username.toLowerCase().includes('clyde') ? member.user.username.replace(/C/g,'Q').replace(/c/g,'q') : member.user.username;
|
let username = member.user.username.toLowerCase().includes('clyde') ? member.user.username.replace(/C/g,'Q').replace(/c/g,'q') : member.user.username;
|
||||||
webhook.send({content: `${member} joined.`, username, avatarURL: member.user.displayAvatarURL({format:'png',size:2048})});
|
webhook.send({content: `${member} joined.`, username, avatarURL: member.user.displayAvatarURL({format:'png',size:2048})});
|
||||||
});
|
});
|
||||||
dClient.on('guildMemberRemove', async member => {
|
dClient.on('guildMemberRemove', async member => {
|
||||||
if (member.guild.id != config.guildID) return;
|
if (member.guild.id != config.guildID) return;
|
||||||
let username = member.user.username.toLowerCase().includes('clyde') ? member.user.username.replace(/C/g,'Q').replace(/c/g,'q') : member.user.username;
|
let username = member.user.username.toLowerCase().includes('clyde') ? member.user.username.replace(/C/g,'Q').replace(/c/g,'q') : member.user.username;
|
||||||
webhook.send({content: `${member.user.tag} left.`, username, avatarURL: member.user.displayAvatarURL({format:'png',size:2048})});
|
webhook.send({content: `${member.user.tag} left.`, username, avatarURL: member.user.displayAvatarURL({format:'png',size:2048})});
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
// view deleted channels
|
// view deleted channels
|
||||||
(async function(){
|
(async function(){
|
||||||
dClient.on('voiceStateUpdate', async (oldState, newState) => {
|
dClient.on('voiceStateUpdate', async (oldState, newState) => {
|
||||||
if (oldState.channelId != config.channels.view_deleted_channels && newState.channelId == config.channels.view_deleted_channels) {
|
if (oldState.channelId != config.channels.view_deleted_channels && newState.channelId == config.channels.view_deleted_channels) {
|
||||||
// member joined the channel
|
// member joined the channel
|
||||||
newState.member.roles.add(config.roles.viewing_deleted_channels);
|
newState.member.roles.add(config.roles.viewing_deleted_channels);
|
||||||
} else if (oldState.channelId == config.channels.view_deleted_channels && newState.channelId != config.channels.view_deleted_channels) {
|
} else if (oldState.channelId == config.channels.view_deleted_channels && newState.channelId != config.channels.view_deleted_channels) {
|
||||||
// member left the channel
|
// member left the channel
|
||||||
newState.member.roles.remove(config.roles.viewing_deleted_channels);
|
newState.member.roles.remove(config.roles.viewing_deleted_channels);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
// arrange bots at bottom of list
|
// arrange bots at bottom of list
|
||||||
(async function(){
|
(async function(){
|
||||||
let prefix = "\u17b5";
|
let prefix = "\u17b5";
|
||||||
let onNick = async member => {
|
let onNick = async member => {
|
||||||
if (member.guild.id != config.guildID) return;
|
if (member.guild.id != config.guildID) return;
|
||||||
if (member.user.bot && !member.displayName.startsWith(prefix))
|
if (member.user.bot && !member.displayName.startsWith(prefix))
|
||||||
await member.setNickname(`${prefix}${member.displayName}`.substring(0,32));
|
await member.setNickname(`${prefix}${member.displayName}`.substring(0,32));
|
||||||
};
|
};
|
||||||
dClient.on('guildMemberAdd', onNick);
|
dClient.on('guildMemberAdd', onNick);
|
||||||
dClient.on('guildMemberUpdate', async (oldMember, newMember) => {
|
dClient.on('guildMemberUpdate', async (oldMember, newMember) => {
|
||||||
if (newMember.displayName != oldMember.displayName) await onNick(newMember);
|
if (newMember.displayName != oldMember.displayName) await onNick(newMember);
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
// persistent emojis
|
// persistent emojis
|
||||||
dClient.on("emojiDelete", async emoji => {
|
dClient.on("emojiDelete", async emoji => {
|
||||||
console.log("emoji deleted:", emoji.name, emoji.url);
|
console.log("emoji deleted:", emoji.name, emoji.url);
|
||||||
if (global.disableEmojiProtection) return;
|
if (global.disableEmojiProtection) return;
|
||||||
if (emoji.name.toLowerCase().includes('delete')) return;
|
if (emoji.name.toLowerCase().includes('delete')) return;
|
||||||
async function readdEmoji() {
|
async function readdEmoji() {
|
||||||
await emoji.guild.emojis.create(emoji.url, emoji.name);
|
await emoji.guild.emojis.create(emoji.url, emoji.name);
|
||||||
delete readdEmoji;
|
delete readdEmoji;
|
||||||
}
|
}
|
||||||
// re-add emoji in 5 to 10 minutes
|
// re-add emoji in 5 to 10 minutes
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (readdEmoji) readdEmoji();
|
if (readdEmoji) readdEmoji();
|
||||||
}, 300000 + Math.random() * 300000);
|
}, 300000 + Math.random() * 300000);
|
||||||
// wouldn't want emoji to be lost if process is stopped before timeout ends
|
// wouldn't want emoji to be lost if process is stopped before timeout ends
|
||||||
exitHook(callback => {
|
exitHook(callback => {
|
||||||
if (readdEmoji) readdEmoji().then(() => callback());
|
if (readdEmoji) readdEmoji().then(() => callback());
|
||||||
else callback();
|
else callback();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// allow anyone to pin a message via reaction
|
// allow anyone to pin a message via reaction
|
||||||
// todo need enable partials for it to work on old messages
|
// todo need enable partials for it to work on old messages
|
||||||
dClient.on("messageReactionAdd", async (messageReaction) => {
|
dClient.on("messageReactionAdd", async (messageReaction) => {
|
||||||
if (messageReaction.guild?.id != config.guildID) return;
|
if (messageReaction.guild?.id != config.guildID) return;
|
||||||
if (messageReaction.emoji.name == "📌" || messageReaction.emoji.name == "📍")
|
if (messageReaction.emoji.name == "📌" || messageReaction.emoji.name == "📍")
|
||||||
await messageReaction.message.pin();
|
await messageReaction.message.pin();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -117,19 +117,19 @@ global.createMPPbridge = async function createMPPbridge({room, channel, uri}) {
|
||||||
|
|
||||||
// announce join/leave/rename
|
// announce join/leave/rename
|
||||||
gClient.prependListener("p", async participant => {
|
gClient.prependListener("p", async participant => {
|
||||||
if (gClient.ppl[participant.id]) { // is update
|
if (gClient.ppl[participant.id]) { // is update
|
||||||
let oldName = gClient.ppl[participant.id].name, newName = participant.name;
|
let oldName = gClient.ppl[participant.id].name, newName = participant.name;
|
||||||
if (newName != oldName)
|
if (newName != oldName)
|
||||||
d.send(`\`${participant._id.substr(0,6)}\` ___**${sanitizeName(oldName)}** changed their name to **${sanitizeName(newName)}**___`);
|
d.send(`\`${participant._id.substr(0,6)}\` ___**${sanitizeName(oldName)}** changed their name to **${sanitizeName(newName)}**___`);
|
||||||
} else { // is join
|
} else { // is join
|
||||||
d.send(`\`${participant._id.substr(0,6)}\` ___**${sanitizeName(participant.name)}** entered the room.___`);
|
d.send(`\`${participant._id.substr(0,6)}\` ___**${sanitizeName(participant.name)}** entered the room.___`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
gClient.prependListener("bye", async msg => {
|
gClient.prependListener("bye", async msg => {
|
||||||
var participant = gClient.ppl[msg.p];
|
var participant = gClient.ppl[msg.p];
|
||||||
if (!participant) return;
|
if (!participant) return;
|
||||||
d.send(`\`${participant._id.substr(0,6)}\` ___**${sanitizeName(participant.name)}** left the room.___`);
|
d.send(`\`${participant._id.substr(0,6)}\` ___**${sanitizeName(participant.name)}** left the room.___`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -143,8 +143,8 @@ global.createMPPbridge = async function createMPPbridge({room, channel, uri}) {
|
||||||
|
|
||||||
// handle bans
|
// handle bans
|
||||||
if (msg.text && (msg.text.startsWith('Banned from "'+room+'"') || msg.text.startsWith('Currently banned from "'+room+'"'))) {
|
if (msg.text && (msg.text.startsWith('Banned from "'+room+'"') || msg.text.startsWith('Currently banned from "'+room+'"'))) {
|
||||||
// Banned from "{room}" for {n} minutes.
|
// Banned from "{room}" for {n} minutes.
|
||||||
// Currently banned from "{room}" for {n} minutes.
|
// Currently banned from "{room}" for {n} minutes.
|
||||||
let arr = msg.text.split(' ');
|
let arr = msg.text.split(' ');
|
||||||
arr.pop();
|
arr.pop();
|
||||||
let minutes = arr.pop();
|
let minutes = arr.pop();
|
||||||
|
@ -170,7 +170,7 @@ global.createMPPbridge = async function createMPPbridge({room, channel, uri}) {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// addons
|
// addons
|
||||||
var wsc = new WebSocketMessageCollector(async function(data, startDate, endDate) {
|
var wsc = new WebSocketMessageCollector(async function(data, startDate, endDate) {
|
||||||
var attachmentName = `${uri} ${room} raw data recording from ${startDate.toISOString()} to ${endDate.toISOString()} .txt.gz`;
|
var attachmentName = `${uri} ${room} raw data recording from ${startDate.toISOString()} to ${endDate.toISOString()} .txt.gz`;
|
||||||
|
|
|
@ -1,48 +1,48 @@
|
||||||
const socketCluster = require("socketcluster-client")
|
const socketCluster = require("socketcluster-client")
|
||||||
const EventEmitter = require("events").EventEmitter;
|
const EventEmitter = require("events").EventEmitter;
|
||||||
class PRClient extends EventEmitter {
|
class PRClient extends EventEmitter {
|
||||||
constructor(credentials, options) {
|
constructor(credentials, options) {
|
||||||
super()
|
super()
|
||||||
EventEmitter.call(this);
|
EventEmitter.call(this);
|
||||||
this.options = options;
|
this.options = options;
|
||||||
this.socket;
|
this.socket;
|
||||||
this.channels = {};
|
this.channels = {};
|
||||||
this.credentials = credentials
|
this.credentials = credentials
|
||||||
}
|
}
|
||||||
connect() {
|
connect() {
|
||||||
if (!this.options) {
|
if (!this.options) {
|
||||||
this.options = {
|
this.options = {
|
||||||
path: "/socketcluster/",
|
path: "/socketcluster/",
|
||||||
hostname: "www.pianorhythm.me",
|
hostname: "www.pianorhythm.me",
|
||||||
port: 443,
|
port: 443,
|
||||||
secure: true,
|
secure: true,
|
||||||
autoReconnect: true,
|
autoReconnect: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Initiate the connection to the server
|
// Initiate the connection to the server
|
||||||
this.socket = socketCluster.connect(this.options);
|
this.socket = socketCluster.connect(this.options);
|
||||||
this.socket.connect();
|
this.socket.connect();
|
||||||
this.socket.on("error", (msg) => {
|
this.socket.on("error", (msg) => {
|
||||||
handleError(msg, "pr socket");
|
handleError(msg, "pr socket");
|
||||||
})
|
})
|
||||||
this.socket.on("connect", () => {
|
this.socket.on("connect", () => {
|
||||||
console.log("Connected!")
|
console.log("Connected!")
|
||||||
this.socket.emit("enableAuthLogin", {
|
this.socket.emit("enableAuthLogin", {
|
||||||
enable: true,
|
enable: true,
|
||||||
roomName: this.credentials.roomName
|
roomName: this.credentials.roomName
|
||||||
});
|
});
|
||||||
this.socket.emit("enableCursor", {
|
this.socket.emit("enableCursor", {
|
||||||
enable: true
|
enable: true
|
||||||
});
|
});
|
||||||
this.socket.emit("login", {
|
this.socket.emit("login", {
|
||||||
password: this.credentials.password,
|
password: this.credentials.password,
|
||||||
roomName: this.credentials.roomName,
|
roomName: this.credentials.roomName,
|
||||||
username: this.credentials.username
|
username: this.credentials.username
|
||||||
});
|
});
|
||||||
this.socket.emit("getPlayerStats", {
|
this.socket.emit("getPlayerStats", {
|
||||||
"username": this.credentials.username
|
"username": this.credentials.username
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
module.exports = PRClient;
|
module.exports = PRClient;
|
|
@ -19,24 +19,24 @@ client.socket.on("setRoom", function (data, callback) {
|
||||||
})
|
})
|
||||||
|
|
||||||
async function messagehandle(data) {
|
async function messagehandle(data) {
|
||||||
if (data && data.type) {
|
if (data && data.type) {
|
||||||
switch (data.type) {
|
switch (data.type) {
|
||||||
case "chat":
|
case "chat":
|
||||||
if (data && data.message) {
|
if (data && data.message) {
|
||||||
let name = data.name || "";
|
let name = data.name || "";
|
||||||
let effect = data.effect || "";
|
let effect = data.effect || "";
|
||||||
let roomName = data.roomName;
|
let roomName = data.roomName;
|
||||||
let color = data.color;
|
let color = data.color;
|
||||||
let id = data.sID || data.socketID || data.id;
|
let id = data.sID || data.socketID || data.id;
|
||||||
if (id == client.socket.id) return;
|
if (id == client.socket.id) return;
|
||||||
let c = dClient.channels.resolve("593943518351982603");
|
let c = dClient.channels.resolve("593943518351982603");
|
||||||
let msg;
|
let msg;
|
||||||
(!name && (data.message.startsWith("[i]"))) ? msg = `*${data.message.split("[i]")[1]}*` : msg = `**${sanitizeName(name)}:** ${data.message}`;
|
(!name && (data.message.startsWith("[i]"))) ? msg = `*${data.message.split("[i]")[1]}*` : msg = `**${sanitizeName(name)}:** ${data.message}`;
|
||||||
if (c) c.send(msg);
|
if (c) c.send(msg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dClient.on("messageCreate", async message => {
|
dClient.on("messageCreate", async message => {
|
||||||
|
@ -50,5 +50,5 @@ dClient.on("messageCreate", async message => {
|
||||||
"uuid": "[discord.gg/k44Eqha]",
|
"uuid": "[discord.gg/k44Eqha]",
|
||||||
"color": "#8012ed",
|
"color": "#8012ed",
|
||||||
"name": "[discord.gg/k44Eqha]"
|
"name": "[discord.gg/k44Eqha]"
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"discord.js": "^12.5.3",
|
"discord.js": "^12.5.3",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"puppeteer": "^10.2.0"
|
"puppeteer": "^10.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
6
util.js
6
util.js
|
@ -1,11 +1,11 @@
|
||||||
|
|
||||||
global.random = function (array) {
|
global.random = function (array) {
|
||||||
return array[Math.floor(Math.random() * array.length)]
|
return array[Math.floor(Math.random() * array.length)]
|
||||||
}
|
}
|
||||||
|
|
||||||
global.sanitizeName = function sanitizeName(str){ // for showing names in discord
|
global.sanitizeName = function sanitizeName(str){ // for showing names in discord
|
||||||
str = str.replace(/[_~*\\]/g,"\\$&"); // formatting
|
str = str.replace(/[_~*\\]/g,"\\$&"); // formatting
|
||||||
str = str.replace(/discord.gg\//g, 'discord.gg\\/'); // invites
|
str = str.replace(/discord.gg\//g, 'discord.gg\\/'); // invites
|
||||||
str = str.replace(/(http|https):\/\//g, "$1\\://"); // urls
|
str = str.replace(/(http|https):\/\//g, "$1\\://"); // urls
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue