Initial commit
This commit is contained in:
commit
6c64fd5877
|
|
@ -0,0 +1,61 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
# RCC Soap Bot
|
||||
|
||||
This was rushed and should not be used for production.
|
||||
|
||||
⚠️**Warning:** This code contains hardcoded banlist, ports, xml, paths, and executable names.
|
||||
ℹ️ **Note:** this was made in 2 hours...
|
||||
|
||||
## Features:
|
||||
|
||||
- Execute Roblox Lua (;execute)
|
||||
- Supports returning data of the following types:
|
||||
- LUA_TSTRING
|
||||
- LUA_TNUMBER
|
||||
- LUA_TBOOLEAN
|
||||
- LUA_TTABLE
|
||||
- View Console (;viewconsole)
|
||||
- Vote Reset (;votereset)
|
||||
## Requirements:
|
||||
|
||||
- NodeJS Installation
|
||||
- RCCService 2016 (March build was tested)
|
||||
|
||||
## Installation:
|
||||
|
||||
Roblox Compute Cloud should be located at `C:\RCCSoap\RCCServiceSOAP.exe`
|
||||
Create a **.env** file in the directory of the repository:
|
||||
```
|
||||
TOKEN=BOT_TOKEN
|
||||
PREFIX=;
|
||||
ADMIN=USER_ID_OF_ADMINISTRATOR
|
||||
CHANNEL=CHANNEL_ID
|
||||
```
|
||||
|
||||
Open cmd or powershell in the repo directory:
|
||||
- **(First Time)** Run `npm i`
|
||||
- Run `node index.js` to start the bot
|
||||
|
||||
Use `;start 530` to start an RCC Instance
|
||||
|
|
@ -0,0 +1,492 @@
|
|||
require('dotenv').config();
|
||||
const exec = require('child_process').exec;
|
||||
|
||||
const Discord = require('discord.js');
|
||||
const https = require('http');
|
||||
const fs = require('fs');
|
||||
const parser = require('fast-xml-parser');
|
||||
const bot = new Discord.Client();
|
||||
const TOKEN = process.env.TOKEN;
|
||||
var defport = 530;
|
||||
var defip = "localhost";
|
||||
var currentvote = false;
|
||||
var thumbsup = 0;
|
||||
var thumbsdown = 0;
|
||||
var msgid;
|
||||
|
||||
|
||||
const isRunning = (query, cb) => {
|
||||
let platform = process.platform;
|
||||
let cmd = '';
|
||||
switch (platform) {
|
||||
case 'win32' : cmd = `tasklist`; break;
|
||||
case 'darwin' : cmd = `ps -ax | grep ${query}`; break;
|
||||
case 'linux' : cmd = `ps -A`; break;
|
||||
default: break;
|
||||
}
|
||||
exec(cmd, (err, stdout, stderr) => {
|
||||
cb(stdout.toLowerCase().indexOf(query.toLowerCase()) > -1);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
bot.login(TOKEN);
|
||||
|
||||
bot.on('ready', () => {
|
||||
console.info(`Logged in as ${bot.user.tag}!`);
|
||||
});
|
||||
|
||||
const options = {
|
||||
hostname: defip,
|
||||
port: defport,
|
||||
path: '',
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'text/xml',
|
||||
'Cache-Control': 'no-cache',
|
||||
'Pragma': 'no-cache',
|
||||
'SOAPAction': 'Execute'
|
||||
}
|
||||
};
|
||||
|
||||
bot.on('message', msg => {
|
||||
if (msg.author.bot) {
|
||||
return;
|
||||
}
|
||||
if (msg.channel.id != process.env.CHANNEL) { return; }
|
||||
|
||||
var message = msg.content
|
||||
|
||||
if (!msg.content.startsWith(process.env.PREFIX))
|
||||
{
|
||||
if (msg.mentions.has(bot.user.id) && msg.content.includes(" ")) {
|
||||
message = message.substring(message.indexOf(" ") + 1)
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
message = message.substring(1);
|
||||
}
|
||||
|
||||
var messageArray = message.includes(" ") ? message.split(' ') : [ message ];
|
||||
|
||||
switch (messageArray[0].toLowerCase())
|
||||
{
|
||||
case "prefix":
|
||||
msg.channel.send(`The Current prefix is: \`${process.env.PREFIX}\``);
|
||||
break;
|
||||
case "help":
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setColor('#0099ff')
|
||||
.setTitle('SOAP Commands')
|
||||
.setAuthor('RCCService.exe', 'https://i.imgur.com/52zkGiZ.png')
|
||||
.setDescription('Here are the commands for RCC SOAP Bot:\n\n;help\n;execute (<string> script) | ;x\n;viewgame | ;vg\n;viewconsole | ;vc\n;votereset')
|
||||
.setTimestamp()
|
||||
.setFooter('Coded by Yakov and Linus man himself', 'https://i.imgur.com/9cPv812.png');
|
||||
|
||||
msg.channel.send(exampleEmbed);
|
||||
break;
|
||||
case "restart":
|
||||
if (msg.author.id == process.env.ADMIN) {
|
||||
msg.reply('Restarting...')
|
||||
.then(msg => bot.destroy())
|
||||
.then(() => bot.login(TOKEN));
|
||||
} else {
|
||||
msg.reply('UNAUTHORIZED! :no_entry:');
|
||||
}
|
||||
break;
|
||||
case "srestart":
|
||||
if (msg.author.id == process.env.ADMIN) {
|
||||
msg.reply('Server Restarting...');
|
||||
exec("taskkill /im \"RCCServiceSOAP.exe\" /t");
|
||||
exec("cd C:\\RCCSoap && start RCCServiceSOAP.bat 530");
|
||||
} else {
|
||||
msg.reply('UNAUTHORIZED! :no_entry:');
|
||||
}
|
||||
break;
|
||||
case "start":
|
||||
if (msg.author.id == process.env.ADMIN) {
|
||||
if(messageArray.length <= 1)
|
||||
{
|
||||
msg.reply('Missing Parameter `Port`');
|
||||
return;
|
||||
}
|
||||
isRunning('RCCServiceSOAP.exe', (status) => {
|
||||
if (status)
|
||||
{
|
||||
msg.reply("RCCService.exe is already open.");
|
||||
return;
|
||||
}
|
||||
exec(`cd C:\\RCCSoap && start RCCServiceSOAP.bat ${messageArray[1]}`);
|
||||
defport = messageArray[1]
|
||||
msg.reply(`Started on port ${messageArray[1]}!`)
|
||||
.then(msg => bot.destroy())
|
||||
.then(() => bot.login(TOKEN));
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
msg.reply('UNAUTHORIZED! :no_entry:');
|
||||
}
|
||||
break;
|
||||
case "stop":
|
||||
if (msg.author.id == process.env.ADMIN) {
|
||||
exec(`taskkill /im "RCCServiceSOAP.exe" /t`);
|
||||
msg.reply('Server Stopped! :white_check_mark:')
|
||||
.then(msg => bot.destroy())
|
||||
.then(() => bot.login(TOKEN));
|
||||
} else {
|
||||
msg.reply('UNAUTHORIZED! :no_entry:');
|
||||
}
|
||||
break;
|
||||
case "vc":
|
||||
exec(`rccscreenshot.exe`);
|
||||
setTimeout(function(){
|
||||
screenshot(msg);
|
||||
}, 500);
|
||||
break;
|
||||
case "viewconsole":
|
||||
exec(`rccscreenshot.exe`);
|
||||
setTimeout(function(){
|
||||
screenshot(msg);
|
||||
}, 500);
|
||||
break;
|
||||
case "vg":
|
||||
viewgame(msg);
|
||||
break;
|
||||
case "viewgame":
|
||||
viewgame(msg);
|
||||
break;
|
||||
case "x":
|
||||
if(messageArray.length <= 1)
|
||||
{
|
||||
msg.reply('Missing Parameter `Script`');
|
||||
return;
|
||||
}
|
||||
execute(message, msg);
|
||||
break;
|
||||
case "execute":
|
||||
if(messageArray.length <= 1)
|
||||
{
|
||||
msg.reply('Missing Parameter `Script`');
|
||||
return;
|
||||
}
|
||||
execute(message, msg);
|
||||
break;
|
||||
case "helloworld":
|
||||
HelloWorld(msg)
|
||||
break;
|
||||
case "votereset":
|
||||
votereset(msg);
|
||||
break;
|
||||
}
|
||||
|
||||
async function votereset(msg)
|
||||
{
|
||||
if (currentvote)
|
||||
{
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setDescription("A vote reset has already been started!")
|
||||
.setColor('#FA7513')
|
||||
.addField("Jump to message", `[Click Here](https://discord.com/channels/${msg.guild.id}/${msg.channel.id}/${msgid})`)
|
||||
.setTimestamp()
|
||||
msg.channel.send(exampleEmbed);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
currentvote = true;
|
||||
}
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setTitle("Vote Reset has Started!")
|
||||
.setDescription("Use reactions to vote! Vote will be ending in 30 seconds.")
|
||||
.setColor('#0099ff')
|
||||
.setTimestamp()
|
||||
msg.channel.send(exampleEmbed).then(function (message) {
|
||||
message.react("👍")
|
||||
message.react("👎")
|
||||
msgid = message.id;
|
||||
setTimeout(function(){
|
||||
try {
|
||||
voteconcluded(msg);
|
||||
}
|
||||
catch{}
|
||||
}, 30000);
|
||||
});
|
||||
}
|
||||
|
||||
function voteconcluded(msg) {
|
||||
var result = thumbsup >= thumbsdown;
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setTitle("The vote reset has been concluded!")
|
||||
.setDescription(result ? "The vote has won, RCC is being resetted..." : "The vote has lost!")
|
||||
.setColor(result ? '#0099ff': '#FA7513')
|
||||
.setTimestamp()
|
||||
msg.channel.send(exampleEmbed);
|
||||
currentvote = false;
|
||||
thumbsdown = thumbsup = 0;
|
||||
msgid = "0";
|
||||
if (result)
|
||||
{
|
||||
exec("taskkill /im \"RCCServiceSOAP.exe\" /t");
|
||||
exec("cd C:\\RCCSoap && start RCCServiceSOAP.bat 530");
|
||||
}
|
||||
}
|
||||
|
||||
function screenshot(msg){
|
||||
if (!fs.existsSync("screenshot.png")) {
|
||||
msg.reply("An Unknown Error has occurred, Is RCC Running?");
|
||||
return;
|
||||
}
|
||||
|
||||
msg.channel.send({ files: ['./screenshot.png'] });
|
||||
|
||||
setTimeout(function(){
|
||||
try {
|
||||
fs.unlinkSync("screenshot.png");
|
||||
}
|
||||
catch{}
|
||||
}, 2000);
|
||||
}
|
||||
|
||||
async function PrintEmbedOfLuaTypes(msg, value, luatype){
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setColor('#0099ff')
|
||||
.setAuthor('RCCService.exe', 'https://i.imgur.com/52zkGiZ.png')
|
||||
.addFields(
|
||||
{ name: 'Return Data:', value: value, inline: true},
|
||||
{ name: 'Lua Type:', value: luatype, inline: true},
|
||||
)
|
||||
.setTimestamp()
|
||||
msg.channel.send(exampleEmbed);
|
||||
}
|
||||
|
||||
async function contentVarible(content2) {
|
||||
return `<?xml version="1.0" encoding="UTF - 8"?>
|
||||
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://roblox.com/RCCServiceSoap" xmlns:ns1="http://roblox.com/" xmlns:ns3="http://roblox.com/RCCServiceSoap12"><SOAP-ENV:Body>
|
||||
${content2}
|
||||
</SOAP-ENV:Body></SOAP-ENV:Envelope>`
|
||||
}
|
||||
|
||||
async function ErrorOccurred(msg, e)
|
||||
{
|
||||
msg.reply("An error has occurred! :x:");
|
||||
console.error(e);
|
||||
}
|
||||
|
||||
async function CreateEmbed(msg,color,title,field) {
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setColor(color)
|
||||
.setTitle(title)
|
||||
.setAuthor('RCCService.exe', 'https://i.imgur.com/52zkGiZ.png')
|
||||
.addFields(
|
||||
{ name: 'Message', value: "```" + `${field}`+"```", inline: true },
|
||||
)
|
||||
msg.channel.send(exampleEmbed)
|
||||
}
|
||||
|
||||
async function HelloWorld(msg){
|
||||
const adsads = https.request(options, res => {
|
||||
res.setEncoding('utf8');
|
||||
res.on('data', function (chunk) {
|
||||
try {
|
||||
var parsedXML = parser.parse(chunk);
|
||||
CreateEmbed(msg, "#008000", "Hello World!", parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:HelloWorldResponse"]["ns1:HelloWorldResult"])
|
||||
} catch(e) {console.error(e)}
|
||||
})
|
||||
})
|
||||
var HelloWorldContent = "<ns1:HelloWorld></ns1:HelloWorld>";
|
||||
console.log(await contentVarible(HelloWorldContent))
|
||||
adsads.write(await contentVarible(HelloWorldContent));
|
||||
adsads.end();
|
||||
|
||||
|
||||
}
|
||||
|
||||
async function viewgame(msg){
|
||||
try {
|
||||
const request = https.request(options, res => {
|
||||
res.setEncoding('utf8');
|
||||
var body = '';
|
||||
var chunks = [];
|
||||
res.on('readable', function () {
|
||||
var chunk = this.read() || '';
|
||||
|
||||
body += chunk;
|
||||
});
|
||||
|
||||
res.on('end', function () {
|
||||
var parsedXML = parser.parse(body)
|
||||
let image = new Buffer.from(parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"][0]["ns1:value"], "base64")
|
||||
fs.writeFile("out.png", image, 'base64', function(err) {
|
||||
console.log(err);
|
||||
});
|
||||
msg.channel.send({ files: ['./out.png'] });
|
||||
});
|
||||
})
|
||||
var content2 = `<ns1:Execute>
|
||||
<ns1:jobID>Test</ns1:jobID>
|
||||
<ns1:script>
|
||||
<ns1:name>SOAP</ns1:name>
|
||||
<ns1:script>
|
||||
return game:GetService("ThumbnailGenerator"):Click("PNG", 4000, 2000, true)</ns1:script>
|
||||
<ns1:arguments>
|
||||
</ns1:arguments>
|
||||
</ns1:script>
|
||||
</ns1:Execute>`;
|
||||
//console.log(await contentVarible(content2))
|
||||
request.write(await contentVarible(content2));
|
||||
request.end();
|
||||
}
|
||||
catch{ msg.reply("An Unknown Error has occurred, Is RCC Running?"); }
|
||||
}
|
||||
|
||||
async function execute(message, msg){
|
||||
message = message.substring(message.indexOf(" ") + 1);
|
||||
if (msg.author.id == "3600780812240814059" || msg.author.id == "632025609970647051") {msg.reply("**Unauthorized!**"); return;}
|
||||
if (message.includes("HttpGet") || message.includes("HttpPost") || message.includes("fenv") || message.includes("while true do") || message.includes("SetUploadUrl") || message.includes("crash__") || message.includes("ModuleScript") || message.includes("\\77") || message.includes("\\11") || message.includes("do print(\"") || message.includes("do print()") || message.includes("math.huge do") || message.includes(":ExecuteScript")) {msg.reply("**CENSORED CODE DETECTED!** :no_entry: "); return;}
|
||||
if (message.startsWith("`") && message.endsWith("`"))
|
||||
{
|
||||
if (message.startsWith("```") && message.endsWith("```")) message = message.substring(message.startsWith("```lua") ? 6 : 3, message.length - 3); else message = message.substring(1, message.length - 1);
|
||||
}
|
||||
//console.log(message);
|
||||
const req = https.request(options, res => { //go on?
|
||||
//console.log('STATUS: ' + res.statusCode);
|
||||
//console.log('HEADERS: ' + JSON.stringify(res.headers));
|
||||
res.setEncoding('utf8');
|
||||
res.on('data', function (chunk) {
|
||||
//console.log('BODY: ' + chunk);
|
||||
//console.log(chunk)
|
||||
try {
|
||||
var parsedXML = parser.parse(chunk)
|
||||
} catch(e) {ErrorOccurred(msg,e);}
|
||||
//console.log(parsedXML)
|
||||
// console.log(parsedXML['SOAP-ENV:Fault']);
|
||||
//var tObj = parser.getTraversalObj(chunk,xmlOptions);
|
||||
// var jsonObj = parser.convertToJson(tObj,xmlOptions);
|
||||
if (parsedXML["SOAP-ENV:Envelope"] && parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"] && parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["SOAP-ENV:Fault"] != undefined) ***REMOVED***
|
||||
{
|
||||
var errormsg = parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["SOAP-ENV:Fault"]["faultstring"];
|
||||
var noline = !errormsg.startsWith("SOAP");
|
||||
if (!noline)
|
||||
{
|
||||
var parsed = errormsg.split(":");
|
||||
var line = parsed[1];
|
||||
var message = parsed[2];
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setColor('#F60E0E')
|
||||
.setTitle('An error has occurred!')
|
||||
.setAuthor('RCCService.exe', 'https://i.imgur.com/52zkGiZ.png')
|
||||
.addFields(
|
||||
{ name: 'Message', value: message, inline: true },
|
||||
{ name: 'Line', value: line, inline: true }
|
||||
)
|
||||
.setTimestamp()
|
||||
msg.channel.send(exampleEmbed);
|
||||
}
|
||||
else
|
||||
{
|
||||
try {
|
||||
const exampleEmbed = new Discord.MessageEmbed()
|
||||
.setColor('#F60E0E')
|
||||
.setTitle('An error has occurred!')
|
||||
.setAuthor('RCCService.exe', 'https://i.imgur.com/52zkGiZ.png')
|
||||
.addFields(
|
||||
{ name: 'Message', value: errormsg, inline: true },
|
||||
)
|
||||
.setTimestamp()
|
||||
msg.channel.send(exampleEmbed);
|
||||
} catch(e){
|
||||
msg.channel.send(`An error has occurred:\n\`\`\`${e}\`\`\``);
|
||||
}
|
||||
}
|
||||
//msg.reply(errormsg);
|
||||
}
|
||||
else if (parsedXML["SOAP-ENV:Envelope"] && parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"] && parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"] != undefined) //&& parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["SOAP-ENV:ExecuteResponse"]["SOAP-ENV:ExecuteResult"] != undefined) {
|
||||
if (parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"])
|
||||
{
|
||||
var LuaType = parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"]["ns1:type"]
|
||||
switch (LuaType)
|
||||
{
|
||||
case "LUA_TSTRING":
|
||||
PrintEmbedOfLuaTypes(msg,parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"]["ns1:value"], LuaType)
|
||||
break;
|
||||
case "LUA_TBOOLEAN":
|
||||
PrintEmbedOfLuaTypes(msg,parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"]["ns1:value"] ? "true" : "false", LuaType)
|
||||
break;
|
||||
case "LUA_TTABLE":
|
||||
//parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["SOAP-ENV:ExecuteResponse"]["SOAP-ENV:ExecuteResult"]["ns1:table"]
|
||||
console.log(parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"]["ns1:table"])
|
||||
PrintEmbedOfLuaTypes(msg, `\`\`\`json\n${JSON.stringify(parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"]["ns1:table"])}\`\`\``, LuaType)
|
||||
break;
|
||||
case "LUA_TNUMBER":
|
||||
PrintEmbedOfLuaTypes(msg,parsedXML["SOAP-ENV:Envelope"]["SOAP-ENV:Body"]["ns1:ExecuteResponse"]["ns1:ExecuteResult"]["ns1:value"], LuaType)
|
||||
break;
|
||||
default:
|
||||
msg.reply("Unknown Return Type!");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
else{
|
||||
msg.reply("Executed! :white_check_mark:");
|
||||
}
|
||||
|
||||
});
|
||||
})
|
||||
|
||||
req.on('error', error => {
|
||||
console.error(error);
|
||||
})
|
||||
|
||||
var content2 = ` <ns1:Execute>
|
||||
<ns1:jobID>Test</ns1:jobID>
|
||||
<ns1:script>
|
||||
<ns1:name>SOAP</ns1:name>
|
||||
<ns1:script>${message}</ns1:script>
|
||||
<ns1:arguments>
|
||||
</ns1:arguments>
|
||||
</ns1:script>
|
||||
</ns1:Execute>`;
|
||||
|
||||
var content = await contentVarible(content2);
|
||||
|
||||
req.write(content);
|
||||
req.end();
|
||||
}
|
||||
});
|
||||
|
||||
bot.on('messageReactionAdd', (messageReaction, user) => {
|
||||
if(user.bot) return;
|
||||
const { message, emoji } = messageReaction;
|
||||
if(message.id === msgid) {
|
||||
switch(emoji.name){
|
||||
case "👍":
|
||||
thumbsup++;
|
||||
break;
|
||||
case "👎":
|
||||
thumbsdown++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
bot.on('messageReactionRemove', (messageReaction, user) => {
|
||||
if(user.bot) return;
|
||||
const { message, emoji } = messageReaction;
|
||||
|
||||
if(message.id === msgid) {
|
||||
switch(emoji.name){
|
||||
case "👍":
|
||||
thumbsup--;
|
||||
break;
|
||||
case "👎":
|
||||
thumbsdown--;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,707 @@
|
|||
{
|
||||
"name": "discord-bot",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@discordjs/collection": {
|
||||
"version": "0.1.6",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
|
||||
"integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
|
||||
},
|
||||
"@discordjs/form-data": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
|
||||
"integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"abort-controller": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||
"requires": {
|
||||
"event-target-shim": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"asn1": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
||||
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
|
||||
"requires": {
|
||||
"safer-buffer": "~2.1.0"
|
||||
}
|
||||
},
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
|
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
|
||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
|
||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
|
||||
"requires": {
|
||||
"tweetnacl": "^0.14.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
||||
}
|
||||
}
|
||||
},
|
||||
"bignumber.js": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz",
|
||||
"integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg="
|
||||
},
|
||||
"bmp-js": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz",
|
||||
"integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo="
|
||||
},
|
||||
"buffer-equal": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
|
||||
"integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs="
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"desktop-screenshot": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/desktop-screenshot/-/desktop-screenshot-0.1.1.tgz",
|
||||
"integrity": "sha1-f4SSO7/Hk+0lXa2GIeRSSdwSNP0=",
|
||||
"requires": {
|
||||
"flavored-path": "0.0.x",
|
||||
"jimp": "0.2.x"
|
||||
}
|
||||
},
|
||||
"discord.js": {
|
||||
"version": "12.5.1",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.1.tgz",
|
||||
"integrity": "sha512-VwZkVaUAIOB9mKdca0I5MefPMTQJTNg0qdgi1huF3iwsFwJ0L5s/Y69AQe+iPmjuV6j9rtKoG0Ta0n9vgEIL6w==",
|
||||
"requires": {
|
||||
"@discordjs/collection": "^0.1.6",
|
||||
"@discordjs/form-data": "^3.0.1",
|
||||
"abort-controller": "^3.0.0",
|
||||
"node-fetch": "^2.6.1",
|
||||
"prism-media": "^1.2.2",
|
||||
"setimmediate": "^1.0.5",
|
||||
"tweetnacl": "^1.0.3",
|
||||
"ws": "^7.3.1"
|
||||
}
|
||||
},
|
||||
"dom-walk": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
|
||||
"integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
|
||||
},
|
||||
"dotenv": {
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
|
||||
"integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
|
||||
"requires": {
|
||||
"jsbn": "~0.1.0",
|
||||
"safer-buffer": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"es6-promise": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
|
||||
"integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM="
|
||||
},
|
||||
"event-target-shim": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
|
||||
},
|
||||
"exif-parser": {
|
||||
"version": "0.1.12",
|
||||
"resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
|
||||
"integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI="
|
||||
},
|
||||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
|
||||
},
|
||||
"fast-xml-parser": {
|
||||
"version": "3.17.6",
|
||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.17.6.tgz",
|
||||
"integrity": "sha512-40WHI/5d2MOzf1sD2bSaTXlPn1lueJLAX6j1xH5dSAr6tNeut8B9ktEL6sjAK9yVON4uNj9//axOdBJUuruCzw=="
|
||||
},
|
||||
"file-type": {
|
||||
"version": "3.9.0",
|
||||
"resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
|
||||
"integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek="
|
||||
},
|
||||
"flavored-path": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/flavored-path/-/flavored-path-0.0.8.tgz",
|
||||
"integrity": "sha1-s3nIr+yEGv4d0NLsqrEeDMedeso=",
|
||||
"requires": {
|
||||
"meta-path": "*"
|
||||
}
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.6",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"getpass": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
||||
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"global": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
|
||||
"integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
|
||||
"requires": {
|
||||
"min-document": "^2.19.0",
|
||||
"process": "^0.11.10"
|
||||
}
|
||||
},
|
||||
"har-schema": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
|
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.1.5",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
|
||||
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
|
||||
"requires": {
|
||||
"ajv": "^6.12.3",
|
||||
"har-schema": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"he": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
|
||||
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"jsprim": "^1.2.2",
|
||||
"sshpk": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"ip-regex": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
|
||||
"integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0="
|
||||
},
|
||||
"is-function": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
|
||||
"integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
|
||||
},
|
||||
"is-global": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-global/-/is-global-0.1.0.tgz",
|
||||
"integrity": "sha1-dDBf0PhmGz/f6ALRGqlwZo3NzTM="
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
|
||||
},
|
||||
"jimp": {
|
||||
"version": "0.2.28",
|
||||
"resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz",
|
||||
"integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=",
|
||||
"requires": {
|
||||
"bignumber.js": "^2.1.0",
|
||||
"bmp-js": "0.0.3",
|
||||
"es6-promise": "^3.0.2",
|
||||
"exif-parser": "^0.1.9",
|
||||
"file-type": "^3.1.0",
|
||||
"jpeg-js": "^0.2.0",
|
||||
"load-bmfont": "^1.2.3",
|
||||
"mime": "^1.3.4",
|
||||
"mkdirp": "0.5.1",
|
||||
"pixelmatch": "^4.0.0",
|
||||
"pngjs": "^3.0.0",
|
||||
"read-chunk": "^1.0.1",
|
||||
"request": "^2.65.0",
|
||||
"stream-to-buffer": "^0.1.0",
|
||||
"tinycolor2": "^1.1.2",
|
||||
"url-regex": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"jpeg-js": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz",
|
||||
"integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII="
|
||||
},
|
||||
"jsbn": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
|
||||
},
|
||||
"json-schema": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
|
||||
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
|
||||
},
|
||||
"json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"extsprintf": "1.3.0",
|
||||
"json-schema": "0.2.3",
|
||||
"verror": "1.10.0"
|
||||
}
|
||||
},
|
||||
"load-bmfont": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz",
|
||||
"integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==",
|
||||
"requires": {
|
||||
"buffer-equal": "0.0.1",
|
||||
"mime": "^1.3.4",
|
||||
"parse-bmfont-ascii": "^1.0.3",
|
||||
"parse-bmfont-binary": "^1.0.5",
|
||||
"parse-bmfont-xml": "^1.1.4",
|
||||
"phin": "^2.9.1",
|
||||
"xhr": "^2.0.1",
|
||||
"xtend": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"meta-path": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/meta-path/-/meta-path-0.0.8.tgz",
|
||||
"integrity": "sha1-3XL11A9VnGIu+mV6wCzWdkpHVnI=",
|
||||
"requires": {
|
||||
"is-global": "*"
|
||||
}
|
||||
},
|
||||
"mime": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
||||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.45.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
|
||||
"integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.28",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
|
||||
"integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
|
||||
"requires": {
|
||||
"mime-db": "1.45.0"
|
||||
}
|
||||
},
|
||||
"min-document": {
|
||||
"version": "2.19.0",
|
||||
"resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
|
||||
"integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
|
||||
"requires": {
|
||||
"dom-walk": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
||||
},
|
||||
"oauth-sign": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
|
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
|
||||
},
|
||||
"parse-bmfont-ascii": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
|
||||
"integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU="
|
||||
},
|
||||
"parse-bmfont-binary": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
|
||||
"integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY="
|
||||
},
|
||||
"parse-bmfont-xml": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz",
|
||||
"integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==",
|
||||
"requires": {
|
||||
"xml-parse-from-string": "^1.0.0",
|
||||
"xml2js": "^0.4.5"
|
||||
}
|
||||
},
|
||||
"parse-headers": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz",
|
||||
"integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
||||
},
|
||||
"phin": {
|
||||
"version": "2.9.3",
|
||||
"resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz",
|
||||
"integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA=="
|
||||
},
|
||||
"pixelmatch": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
|
||||
"integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=",
|
||||
"requires": {
|
||||
"pngjs": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"pngjs": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
|
||||
"integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w=="
|
||||
},
|
||||
"prism-media": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.2.3.tgz",
|
||||
"integrity": "sha512-fSrR66n0l6roW9Rx4rSLMyTPTjRTiXy5RVqDOurACQ6si1rKHHKDU5gwBJoCsIV0R3o9gi+K50akl/qyw1C74A=="
|
||||
},
|
||||
"process": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
"integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
|
||||
"integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
|
||||
},
|
||||
"punycode": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
||||
},
|
||||
"read-chunk": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz",
|
||||
"integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ="
|
||||
},
|
||||
"request": {
|
||||
"version": "2.88.2",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
|
||||
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
|
||||
"requires": {
|
||||
"aws-sign2": "~0.7.0",
|
||||
"aws4": "^1.8.0",
|
||||
"caseless": "~0.12.0",
|
||||
"combined-stream": "~1.0.6",
|
||||
"extend": "~3.0.2",
|
||||
"forever-agent": "~0.6.1",
|
||||
"form-data": "~2.3.2",
|
||||
"har-validator": "~5.1.3",
|
||||
"http-signature": "~1.2.0",
|
||||
"is-typedarray": "~1.0.0",
|
||||
"isstream": "~0.1.2",
|
||||
"json-stringify-safe": "~5.0.1",
|
||||
"mime-types": "~2.1.19",
|
||||
"oauth-sign": "~0.9.0",
|
||||
"performance-now": "^2.1.0",
|
||||
"qs": "~6.5.2",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"tough-cookie": "~2.5.0",
|
||||
"tunnel-agent": "^0.6.0",
|
||||
"uuid": "^3.3.2"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"sax": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
|
||||
},
|
||||
"setimmediate": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
|
||||
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.16.1",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
|
||||
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
|
||||
"requires": {
|
||||
"asn1": "~0.2.3",
|
||||
"assert-plus": "^1.0.0",
|
||||
"bcrypt-pbkdf": "^1.0.0",
|
||||
"dashdash": "^1.12.0",
|
||||
"ecc-jsbn": "~0.1.1",
|
||||
"getpass": "^0.1.1",
|
||||
"jsbn": "~0.1.0",
|
||||
"safer-buffer": "^2.0.2",
|
||||
"tweetnacl": "~0.14.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
||||
}
|
||||
}
|
||||
},
|
||||
"stream-to": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz",
|
||||
"integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0="
|
||||
},
|
||||
"stream-to-buffer": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz",
|
||||
"integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=",
|
||||
"requires": {
|
||||
"stream-to": "~0.2.0"
|
||||
}
|
||||
},
|
||||
"tinycolor2": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz",
|
||||
"integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA=="
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
|
||||
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
||||
"requires": {
|
||||
"psl": "^1.1.28",
|
||||
"punycode": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
||||
"requires": {
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"tweetnacl": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
|
||||
"integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
|
||||
},
|
||||
"uri-js": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||
"requires": {
|
||||
"punycode": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"url-regex": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
|
||||
"integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
|
||||
"requires": {
|
||||
"ip-regex": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"core-util-is": "1.0.2",
|
||||
"extsprintf": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
|
||||
"integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA=="
|
||||
},
|
||||
"xhr": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
|
||||
"integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
|
||||
"requires": {
|
||||
"global": "~4.4.0",
|
||||
"is-function": "^1.0.1",
|
||||
"parse-headers": "^2.0.0",
|
||||
"xtend": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"xml-parse": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/xml-parse/-/xml-parse-0.4.0.tgz",
|
||||
"integrity": "sha512-+wgw8F9dPiBEOD91RnzJ+s9HJcW5jNR8fgtmqqTpa2YEC22TnExMJPnE5tzEbfyPyjeVZqLdLPj6M0k6oqPM0g=="
|
||||
},
|
||||
"xml-parse-from-string": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
|
||||
"integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig="
|
||||
},
|
||||
"xml2js": {
|
||||
"version": "0.4.23",
|
||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
|
||||
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
|
||||
"requires": {
|
||||
"sax": ">=0.6.0",
|
||||
"xmlbuilder": "~11.0.0"
|
||||
}
|
||||
},
|
||||
"xmlbuilder": {
|
||||
"version": "11.0.1",
|
||||
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
||||
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "discord-bot",
|
||||
"version": "1.0.0",
|
||||
"description": "RCC Soap Bot",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "Yakov",
|
||||
"dependencies": {
|
||||
"desktop-screenshot": "^0.1.1",
|
||||
"discord.js": "^12.5.1",
|
||||
"dotenv": "^8.2.0",
|
||||
"fast-xml-parser": "^3.17.6",
|
||||
"he": "^1.2.0",
|
||||
"xml-parse": "^0.4.0"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Loading…
Reference in New Issue