v6.0.0-beta
This commit is contained in:
parent
bca181e8ec
commit
0b31c50a29
28 changed files with 261058 additions and 185 deletions
17
.vscode/launch.json
vendored
Normal file
17
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Launch Program",
|
||||||
|
"skipFiles": [
|
||||||
|
"<node_internals>/**"
|
||||||
|
],
|
||||||
|
"program": "~/Downloads/vscodium/node"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
258828
logs/latest.log
258828
logs/latest.log
File diff suppressed because it is too large
Load diff
1970
package-lock.json
generated
1970
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -2,6 +2,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cowsay2": "^2.0.4",
|
"cowsay2": "^2.0.4",
|
||||||
"discord.js": "^14.11.0",
|
"discord.js": "^14.11.0",
|
||||||
|
"java-parser": "^2.3.2",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
"json-stringify": "^1.0.0",
|
"json-stringify": "^1.0.0",
|
||||||
"json5": "^2.2.3",
|
"json5": "^2.2.3",
|
||||||
|
@ -11,6 +12,7 @@
|
||||||
"minecraft-data": "^3.36.1",
|
"minecraft-data": "^3.36.1",
|
||||||
"minecraft-protocol": "^1.47.0",
|
"minecraft-protocol": "^1.47.0",
|
||||||
"mojangson": "^2.0.4",
|
"mojangson": "^2.0.4",
|
||||||
|
"node-gyp": "^10.2.0",
|
||||||
"prismarine-auth": "^2.2.0",
|
"prismarine-auth": "^2.2.0",
|
||||||
"prismarine-chat": "^1.10.1",
|
"prismarine-chat": "^1.10.1",
|
||||||
"prismarine-registry": "^1.7.0",
|
"prismarine-registry": "^1.7.0",
|
||||||
|
|
17
prototyping-crap/e.js
Normal file
17
prototyping-crap/e.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
const https = require('node:https');
|
||||||
|
|
||||||
|
https.get('https://encrypted.google.com/', (res) => {
|
||||||
|
console.log('statusCode:', res.statusCode);
|
||||||
|
// console.log('headers:', res.headers);
|
||||||
|
console.log((res.complete))
|
||||||
|
let data;
|
||||||
|
res.on('data', (d) => {
|
||||||
|
process.stdout.write(d);
|
||||||
|
// if (data === undefined) data = chunk;
|
||||||
|
// else data += chunk;
|
||||||
|
// console.log(data);
|
||||||
|
});
|
||||||
|
|
||||||
|
}).on('error', (e) => {
|
||||||
|
console.error(e);
|
||||||
|
});
|
5
src/TO-DO.txt
Normal file
5
src/TO-DO.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
1. add discord hashes back to the bot (v6.0.0-beta)
|
||||||
|
2. add a reset interval to cloops (v6.0.0-beta)
|
||||||
|
3. finish useChat (v6.0.1)
|
||||||
|
4. finish isSavage (v6.0.2)
|
||||||
|
5. start working on isCreayun (v6.0.7) fuck you creayun
|
|
@ -12,7 +12,7 @@ function createBot(options = {}) {
|
||||||
hideErrors: options.hideErrors ??= true, // HACK: Hide errors by default as a lazy fix to console being spammed with them
|
hideErrors: options.hideErrors ??= true, // HACK: Hide errors by default as a lazy fix to console being spammed with them
|
||||||
};
|
};
|
||||||
bot.options = options
|
bot.options = options
|
||||||
|
const ChatMessage = require('prismarine-chat')(bot.options.version);
|
||||||
// Create our client object, put it on the bot, and register some events
|
// Create our client object, put it on the bot, and register some events
|
||||||
bot.on('init_client', client => {
|
bot.on('init_client', client => {
|
||||||
client.on('packet', (data, meta) => {
|
client.on('packet', (data, meta) => {
|
||||||
|
@ -33,7 +33,8 @@ function createBot(options = {}) {
|
||||||
|
|
||||||
client.on('error', error => {
|
client.on('error', error => {
|
||||||
// bot.emit('error', error)
|
// bot.emit('error', error)
|
||||||
console.log(error.toString())
|
// console.log(error.toString())
|
||||||
|
bot.console.logs(ChatMessage.fromNotch('§8[§bClient Reconnect§8]§r ')?.toAnsi() + error.toString())
|
||||||
bot?.discord?.channel?.send(error.toString())
|
bot?.discord?.channel?.send(error.toString())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -43,10 +44,11 @@ function createBot(options = {}) {
|
||||||
|
|
||||||
client.on('kick_disconnect', (data) => {
|
client.on('kick_disconnect', (data) => {
|
||||||
bot.emit("kick_disconnect", data.reason)
|
bot.emit("kick_disconnect", data.reason)
|
||||||
|
bot.console.logs(ChatMessage.fromNotch('§8[§bClient Reconnect§8]§r ')?.toAnsi() + data.toString())
|
||||||
})
|
})
|
||||||
|
|
||||||
process.on("uncaughtException", (e) => {
|
process.on("uncaughtException", (e) => {
|
||||||
console?.warn(e.stack)
|
// console?.warn(e.stack)
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -222,7 +222,7 @@ const bots = [
|
||||||
foundation: "NodeJS/node-minecraft-protocol",
|
foundation: "NodeJS/node-minecraft-protocol",
|
||||||
prefixes: ["["],
|
prefixes: ["["],
|
||||||
},
|
},
|
||||||
{
|
/* {
|
||||||
name: [
|
name: [
|
||||||
{ text: "Blurry", color: "dark_purple", bold: false },
|
{ text: "Blurry", color: "dark_purple", bold: false },
|
||||||
{ text: "Bot", color: "red" },
|
{ text: "Bot", color: "red" },
|
||||||
|
@ -231,7 +231,7 @@ const bots = [
|
||||||
authors: ["SirLennox"],
|
authors: ["SirLennox"],
|
||||||
foundation: "Java/custom",
|
foundation: "Java/custom",
|
||||||
prefixes: [","],
|
prefixes: [","],
|
||||||
},
|
},*/
|
||||||
{
|
{
|
||||||
name: [{ text: "SnifferBot", color: "gold", bold: false }],
|
name: [{ text: "SnifferBot", color: "gold", bold: false }],
|
||||||
exclaimer: "sniff sniff FNFBoyfriendBot simp",
|
exclaimer: "sniff sniff FNFBoyfriendBot simp",
|
||||||
|
@ -350,4 +350,4 @@ module.exports = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
//it doing it just for the ones i added lol
|
//it doing it just for the ones i added lol
|
||||||
// prob a replit moment, it probably thinks there are regexes in the strings
|
// prob a replit moment, it probably thinks there are regexes in the strings
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
const { EmbedBuilder } = require('discord.js');
|
||||||
|
const CommandError = require('../util/command_error');
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'cloop',
|
name: 'cloop',
|
||||||
trustLevel: 1,
|
trustLevel: 1,
|
||||||
|
@ -72,12 +74,82 @@ module.exports = {
|
||||||
})
|
})
|
||||||
component.push('\n')
|
component.push('\n')
|
||||||
component.push(listComponent)
|
component.push(listComponent)
|
||||||
|
if (bot.cloop.list.length === 0) {
|
||||||
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, component)
|
bot.tellraw(`@a[name="${source?.player.profile?.name}"]`, {
|
||||||
break
|
translate: 'Cloops (%s):',
|
||||||
|
with: [ bot.cloop.list.length ]
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, component)
|
||||||
|
}
|
||||||
|
break
|
||||||
default:
|
default:
|
||||||
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, { text: 'Invalid action', color: 'red' })
|
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, { text: 'Invalid action', color: 'red' })
|
||||||
break
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
const args = context.arguments;
|
||||||
|
let Embed;
|
||||||
|
switch (args[0]) {
|
||||||
|
case "add":
|
||||||
|
const interval = parseInt(args[1])
|
||||||
|
const command = args.slice(2).join(' ')
|
||||||
|
bot.cloop.add(command, interval)
|
||||||
|
Embed = new EmbedBuilder()
|
||||||
|
.setColor(`${config.colors.discord.embed}`)
|
||||||
|
.setTitle(`${this.name} Command`)
|
||||||
|
.setDescription(`Added ${command} with the interval ${interval} to the cloops`)
|
||||||
|
bot?.discord?.message?.reply({ embeds: [Embed] })
|
||||||
|
break;
|
||||||
|
case "remove":
|
||||||
|
var index = (args[1])
|
||||||
|
if (parseInt(args[1]) === NaN) throw new CommandError("invalid index");
|
||||||
|
bot.cloop.remove(index)
|
||||||
|
Embed = new EmbedBuilder()
|
||||||
|
.setColor(`${config.colors.discord.embed}`)
|
||||||
|
.setTitle(`${this.name} Command`)
|
||||||
|
.setDescription(`removed cloop ${index}`)
|
||||||
|
bot?.discord?.message?.reply({ embeds: [Embed] })
|
||||||
|
break
|
||||||
|
case 'clear':
|
||||||
|
bot.cloop.clear()
|
||||||
|
Embed = new EmbedBuilder()
|
||||||
|
.setColor(`${config.colors.discord.embed}`)
|
||||||
|
.setTitle(`${this.name} Command`)
|
||||||
|
.setDescription(`cleared cloops`)
|
||||||
|
bot?.discord?.message?.reply({ embeds: [Embed] })
|
||||||
|
break
|
||||||
|
case 'list':
|
||||||
|
const component = []
|
||||||
|
const listComponent = []
|
||||||
|
let i = 0
|
||||||
|
for (const cloop of bot.cloop.list) {
|
||||||
|
listComponent.push({
|
||||||
|
translate: '%s \u203a %s (%s)',
|
||||||
|
with: [
|
||||||
|
`id ${i}`,
|
||||||
|
cloop.command,
|
||||||
|
cloop.interval
|
||||||
|
]
|
||||||
|
})
|
||||||
|
listComponent.push('\n')
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
listComponent.pop()
|
||||||
|
component.push({
|
||||||
|
translate: 'Cloops (%s):',
|
||||||
|
with: [ bot.cloop.list.length ]
|
||||||
|
})
|
||||||
|
component.push('\n')
|
||||||
|
component.push(listComponent)
|
||||||
|
Embed = new EmbedBuilder()
|
||||||
|
.setColor(`${config.colors.discord.embed}`)
|
||||||
|
.setTitle(`${this.name} Command`)
|
||||||
|
.setDescription(bot.getMessageAsPrismarine(component)?.toString())
|
||||||
|
bot?.discord?.message?.reply({ embeds: [Embed] })
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,9 @@ module.exports = {
|
||||||
eachBot.console.consoleServer = server;
|
eachBot.console.consoleServer = server;
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
case "validate":
|
||||||
|
bot.chat.message(`${config.prefixes[0]}${args.slice(1).shift()} ${bot.validation.owner} ${args.slice(2).join(' ')}`)
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
module.exports = {
|
|
||||||
name: 'coresettings',
|
|
||||||
trustLevel: 0,
|
|
||||||
aliases: [
|
|
||||||
],
|
|
||||||
description: 'Make me say something',
|
|
||||||
usages: [
|
|
||||||
"<message>"
|
|
||||||
],
|
|
||||||
execute (context) {
|
|
||||||
const bot = context.bot
|
|
||||||
},
|
|
||||||
discordExecute (context) {
|
|
||||||
const bot = context.bot;
|
|
||||||
const args = context.arguments;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,7 @@
|
||||||
const cowsay = require('cowsay2');
|
const cowsay = require('cowsay2');
|
||||||
const cows = require('cowsay2/cows')
|
const cows = require('cowsay2/cows');
|
||||||
|
const { EmbedBuilder } = require('discord.js');
|
||||||
|
const fixansi = require('../util/ansi');
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'cowsay',
|
name: 'cowsay',
|
||||||
trustLevel: 0,
|
trustLevel: 0,
|
||||||
|
@ -34,5 +36,43 @@ module.exports = {
|
||||||
} else {
|
} else {
|
||||||
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, { text: cowsay.say(args.slice(0).join(' ')) })
|
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, { text: cowsay.say(args.slice(0).join(' ')) })
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
const args = context.arguments;
|
||||||
|
let Embed
|
||||||
|
if (args[0] === "list") {
|
||||||
|
const list = Object.keys(cows);
|
||||||
|
let content = [];
|
||||||
|
let color = true;
|
||||||
|
for (const value of list) {
|
||||||
|
content.push([
|
||||||
|
{
|
||||||
|
text: value + ' ',
|
||||||
|
}
|
||||||
|
])
|
||||||
|
}
|
||||||
|
const ansiList = bot.getMessageAsPrismarine(content)?.toString();
|
||||||
|
const fixAnsiList = fixansi(ansiList.replaceAll('`', '`\u200b'))
|
||||||
|
Embed = new EmbedBuilder()
|
||||||
|
.setColor(`${config.colors.discord.embed}`)
|
||||||
|
.setTitle(`${this.name} Command`)
|
||||||
|
.setDescription(`\`\`\`ansi\n${fixAnsiList}\n\`\`\``)
|
||||||
|
bot.discord.message.reply({ embeds: [Embed] })
|
||||||
|
} else if (cows[args[0]]) {
|
||||||
|
const ansiCow1 = bot.getMessageAsPrismarine({ text: cowsay.say(args.slice(1).join(' '), { cow: cows[args[0]] }) })?.toAnsi()
|
||||||
|
const fixAnsiCow1 = fixansi(ansiCow1.replaceAll('`', '`\u200b'))
|
||||||
|
Embed = new EmbedBuilder()
|
||||||
|
.setColor(`${config.colors.discord.embed}`)
|
||||||
|
.setTitle(`${this.name} Command`)
|
||||||
|
.setDescription(`\`\`\`ansi\n${fixAnsiCow1}\n\`\`\``)
|
||||||
|
bot.discord.message.reply({ embeds: [Embed] })
|
||||||
|
} else {
|
||||||
|
Embed = new EmbedBuilder()
|
||||||
|
.setColor(`${config.colors.discord.embed}`)
|
||||||
|
.setTitle(`${this.name} Command`)
|
||||||
|
.setDescription(`\`\`\`ansi\n${cowsay.say(args.slice(0).join(' '))}\n\`\`\``)
|
||||||
|
bot.discord.message.reply({ embeds: [Embed] });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,6 @@ module.exports = {
|
||||||
execute (context) {
|
execute (context) {
|
||||||
const bot = context.bot
|
const bot = context.bot
|
||||||
const message = context.arguments.join(' ')
|
const message = context.arguments.join(' ')
|
||||||
|
|
||||||
if (message.startsWith('/')) {
|
if (message.startsWith('/')) {
|
||||||
bot.chat.command(message.substring(1))
|
bot.chat.command(message.substring(1))
|
||||||
return
|
return
|
||||||
|
|
|
@ -34,7 +34,7 @@ module.exports = {
|
||||||
const source = context.source;
|
const source = context.source;
|
||||||
switch (args[0]) {
|
switch (args[0]) {
|
||||||
case 'version':
|
case 'version':
|
||||||
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, `§9Friday §9Night §9Funkin §3Boyfriend §1Bot§8§r-v6.0.0-beta-700-§bSk§4y §bRedux\n11/22/22 - ${new Date().toLocaleDateString("en-US", { timeZone: "America/CHICAGO" })}`);
|
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, `§9Friday §9Night §9Funkin §3Boyfriend §1Bot§8§r-v6.0.0-beta-#800-§#fe019aGraffiti §7Groovin\n11/22/22 - ${new Date().toLocaleDateString("en-US", { timeZone: "America/CHICAGO" })}`);
|
||||||
break // &9 &3 &1
|
break // &9 &3 &1
|
||||||
case 'config':
|
case 'config':
|
||||||
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, [
|
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, [
|
||||||
|
|
39
src/commands/ipinfo.js
Normal file
39
src/commands/ipinfo.js
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
const { request } = require('undici');
|
||||||
|
const util = require('util');
|
||||||
|
module.exports = {
|
||||||
|
name: 'ipinfo',
|
||||||
|
trustLevel: 0,
|
||||||
|
aliases: [
|
||||||
|
],
|
||||||
|
description: 'Make me say something',
|
||||||
|
usages: [
|
||||||
|
"<message>"
|
||||||
|
],
|
||||||
|
async execute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
const args = context.arguments;
|
||||||
|
try {
|
||||||
|
const url = await request(`https://get.geojs.io/v1/ip/geo/${args}.json`)
|
||||||
|
const outputJson = await url.body.json();
|
||||||
|
console.log(outputJson)
|
||||||
|
// bot.tellraw("@a", util.inspect(outputJson));
|
||||||
|
bot.tellraw("@a", [
|
||||||
|
{ text: `Ip \u203a `, color: "gray" },
|
||||||
|
{ text: `${outputJson.ip}\n`, color: "gold" },
|
||||||
|
{ text: `Country \u203a ${outputJson.country}\n`, color: "gray" },
|
||||||
|
{ text: `Region \u203a ${outputJson.region}\n`, color: "gray" },
|
||||||
|
{ text: `City \u203a ${outputJson.city}\n`, color: "gray" },
|
||||||
|
{ text: `Timezone \u203a ${outputJson.timezone}\n`, color: "gray" },
|
||||||
|
{ text: `Organization \u203a ${outputJson.organization_name}\n`, color: "gray" },
|
||||||
|
{ text: 'I dont leak cords dont worry :3' }
|
||||||
|
])
|
||||||
|
} catch (e) {
|
||||||
|
bot.tellraw("@a", { text: e.toString(), color: 'dark_red' })
|
||||||
|
}
|
||||||
|
},
|
||||||
|
discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
const args = context.arguments;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const CommandError = require('../util/command_error');
|
const CommandError = require('../util/command_error');
|
||||||
|
const { EmbedBuilder } = require('discord.js');
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'kick',
|
name: 'kick',
|
||||||
trustLevel: 1,
|
trustLevel: 1,
|
||||||
|
@ -19,5 +20,15 @@ module.exports = {
|
||||||
bot.core.run(`minecraft:tellraw ${args.slice(2).join(' ')} ${JSON.stringify(bot.exploits.invalidString)}`)
|
bot.core.run(`minecraft:tellraw ${args.slice(2).join(' ')} ${JSON.stringify(bot.exploits.invalidString)}`)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
const args = context.arguments;
|
||||||
|
if (bot.options.useChat || bot.options.isSavage || bot.options.isCreayun) throw new CommandError('Cannot execute command!');
|
||||||
|
switch (args[0]) {
|
||||||
|
case "invalidstring":
|
||||||
|
bot.core.run(`minecraft:tellraw ${args.slice(1).join(' ')} ${JSON.stringify(bot.exploits.invalidString)}`)
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,8 +9,18 @@ module.exports = {
|
||||||
""
|
""
|
||||||
],
|
],
|
||||||
async execute (context) {
|
async execute (context) {
|
||||||
const bot = context.bot
|
const bot = context.bot;
|
||||||
|
// ik theres a better way to do but shut the fuck up about it
|
||||||
await bot.chat.message("killing process");
|
await bot.chat.message("killing process");
|
||||||
await process.exit(69420) // sure why the hell not
|
await bot.console.info("killing process");
|
||||||
|
await bot.discord.channel?.send("killing process");
|
||||||
|
await process.exit(69420); // sure why the hell not
|
||||||
|
},
|
||||||
|
async discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
await bot.chat.message("killing process");
|
||||||
|
await bot.console.info("killing process");
|
||||||
|
await bot.discord.channel?.send("killing process");
|
||||||
|
await process.exit(69420);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,10 +16,11 @@ module.exports = {
|
||||||
//throw new CommandError('ohio')
|
//throw new CommandError('ohio')
|
||||||
const component = {
|
const component = {
|
||||||
translate: '[%s] %s \u203a %s',
|
translate: '[%s] %s \u203a %s',
|
||||||
|
color: "dark_gray",
|
||||||
with: [
|
with: [
|
||||||
bot.options.serverName,
|
{ text: bot.options.serverName, color: "gray" },
|
||||||
source.player.displayName ?? source.player.profile.name,
|
source.player.displayName ?? source.player.profile.name,
|
||||||
args.join(' ')
|
{ text: args.join(' '), color: "gray" },
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
// bot.bots.filter((eachBot) => { if (eachBot.options.useChat) eachBot.chat.message('sussy');
|
// bot.bots.filter((eachBot) => { if (eachBot.options.useChat) eachBot.chat.message('sussy');
|
||||||
|
|
24
src/commands/reload.js
Normal file
24
src/commands/reload.js
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
module.exports = {
|
||||||
|
name: 'reload',
|
||||||
|
trustLevel: 0,
|
||||||
|
aliases: [
|
||||||
|
],
|
||||||
|
description: 'reloads commands',
|
||||||
|
usages: [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
execute (context) {
|
||||||
|
const bot = context.bot
|
||||||
|
bot.tellraw("@a", "Reloading Commands,..........")
|
||||||
|
for (const eachBot of bot.bots) {
|
||||||
|
eachBot.commandManager.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
bot.discord.message.reply("Reloading Commands,.........");
|
||||||
|
for (const eachBot of bot.bots) {
|
||||||
|
eachBot.commandManager.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,7 +3,7 @@ const CommandError = require('../util/command_error')
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'tpr',
|
name: 'tpr',
|
||||||
description:['teleport to a random place'],
|
description:['teleport to a random place'],
|
||||||
trustLevel: 0,
|
trustLevel: 1,
|
||||||
aliases:['rtp', 'teleportrandom', 'randomteleport'],
|
aliases:['rtp', 'teleportrandom', 'randomteleport'],
|
||||||
usage:[""],
|
usage:[""],
|
||||||
async execute (context) {
|
async execute (context) {
|
||||||
|
|
|
@ -6,7 +6,7 @@ module.exports = {
|
||||||
trustLevel: 2,
|
trustLevel: 2,
|
||||||
aliases: [
|
aliases: [
|
||||||
],
|
],
|
||||||
description: 'run commands unisolated',
|
description: 'run code unisolated',
|
||||||
usages: [
|
usages: [
|
||||||
"<code>",
|
"<code>",
|
||||||
],
|
],
|
||||||
|
|
|
@ -7,11 +7,10 @@ module.exports = {
|
||||||
aliases:['urbandictionary'],
|
aliases:['urbandictionary'],
|
||||||
trustLevel: 0,
|
trustLevel: 0,
|
||||||
usage:[
|
usage:[
|
||||||
"all <definition>",
|
"<definition>",
|
||||||
"single <definition>",
|
|
||||||
],
|
],
|
||||||
usages: [
|
usages: [
|
||||||
"<definition",
|
"<definition>",
|
||||||
],
|
],
|
||||||
async execute (context) {
|
async execute (context) {
|
||||||
const source = context.source
|
const source = context.source
|
||||||
|
@ -42,20 +41,20 @@ module.exports = {
|
||||||
action:"show_text",
|
action:"show_text",
|
||||||
value: [
|
value: [
|
||||||
{
|
{
|
||||||
text: `Example \u203a \n ${definitions.example.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}`,
|
text: `Example \u203a \n ${definitions.example.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}\n`,
|
||||||
color: 'dark_blue'
|
color: 'gray'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `Word \u203a ${definitions.word.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}\n`,
|
text: `Word \u203a ${definitions.word.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}\n`,
|
||||||
color: 'dark_blue',
|
color: 'gray',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `Author \u203a ${definitions.author.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}\n`,
|
text: `Author \u203a ${definitions.author.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}\n`,
|
||||||
color: 'dark_blue'
|
color: 'gray'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `written on \u203a ${definitions.written_on.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}\n`,
|
text: `written on \u203a ${definitions.written_on.replaceAll('\r', '').replaceAll('[', '\xa71\xa7n\xa7o').replaceAll(']','\xa7r\xa77')}\n`,
|
||||||
color: 'dark_blue'
|
color: 'gray'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: `Rating \u203a Thumbs-Up ${definitions.thumbs_up} / Thumbs-Down ${definitions.thumbs_down}`,
|
text: `Rating \u203a Thumbs-Up ${definitions.thumbs_up} / Thumbs-Down ${definitions.thumbs_down}`,
|
||||||
|
|
49
src/commands/website.js
Normal file
49
src/commands/website.js
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
const http = require('http');
|
||||||
|
const https = require('https');
|
||||||
|
const util = require('util');
|
||||||
|
module.exports = {
|
||||||
|
name: 'website',
|
||||||
|
trustLevel: 0,
|
||||||
|
aliases: [
|
||||||
|
],
|
||||||
|
description: 'look up website data',
|
||||||
|
usages: [
|
||||||
|
"<url>"
|
||||||
|
],
|
||||||
|
execute (context) {
|
||||||
|
const bot = context.bot
|
||||||
|
const args = context.arguments;
|
||||||
|
if (args.join(' ').toLowerCase().startsWith("http://")) {
|
||||||
|
http.get(args.join(' '), (res) => {
|
||||||
|
const { statusCode } = res;
|
||||||
|
const contentType = res.headers['content-type'];
|
||||||
|
res.setEncoding('utf8');
|
||||||
|
let rawData = '';
|
||||||
|
res.on('data', (chunk) => { rawData += chunk; });
|
||||||
|
res.on('end', () => {
|
||||||
|
try {
|
||||||
|
bot.tellraw("@a", { text: util.inspect(rawData), color: "dark_green" })
|
||||||
|
} catch (e) {
|
||||||
|
bot.tellraw("@a", e.toString());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}).on('error', (e) => {
|
||||||
|
bot.chat.message(`&4${e.toString()}`);
|
||||||
|
});
|
||||||
|
} else if (args.join(' ').toLowerCase().startsWith('https://')) {
|
||||||
|
https.get(args.join(' '), (res) => {
|
||||||
|
console.log('statusCode:', res.statusCode);
|
||||||
|
console.log('headers:', res.headers);
|
||||||
|
res.on('data', (d) => {
|
||||||
|
bot.tellraw("@a", { text: util.inspect(d), color: "dark_green", })
|
||||||
|
});
|
||||||
|
}).on('error', (e) => {
|
||||||
|
bot.chat.message(`&4${e.toString()}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
const args = context.arguments;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,21 +1,12 @@
|
||||||
const readline = require('readline');
|
const readline = require('readline');
|
||||||
|
|
||||||
function boot (bot, options, discordClient, config) {
|
function boot (bot, options, discordClient, config) {
|
||||||
bot.on("packet.login", (data) => {
|
bot.on("packet.login", (data) => {
|
||||||
bot.chat.message('&9FNF&3Boyfriend&1Bot &fcreated by &4Parker&02991');
|
if (new Date().getDay() === 5) {
|
||||||
|
bot.chat.message('Gettin\' freaky on a friday night!');
|
||||||
|
} else {
|
||||||
|
bot.chat.message('&9FNF&3Boyfriend&1Bot &fcreated by &4Parker&02991');
|
||||||
|
}
|
||||||
}) // &9 &3 &1
|
}) // &9 &3 &1
|
||||||
}
|
}
|
||||||
module.exports = boot;
|
module.exports = boot;
|
||||||
/*
|
|
||||||
const readline = require('readline');
|
|
||||||
|
|
||||||
readline.emitKeypressEvents(process.stdin);
|
|
||||||
process.stdin.on('keypress', (str, key) => {
|
|
||||||
// console.log(str)
|
|
||||||
// console.log(key)
|
|
||||||
if (key && key.ctrl && key.name === 'c') {
|
|
||||||
console.log('mrrow >:3');
|
|
||||||
process.exit(69420);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
*/
|
|
||||||
|
|
|
@ -3,7 +3,8 @@ const KaboomChatParser = require('../util/ChatParsers/Kaboom');
|
||||||
const ChipmunkModChatParser = require('../util/ChatParsers/ChipmunkMod');
|
const ChipmunkModChatParser = require('../util/ChatParsers/ChipmunkMod');
|
||||||
const CreayunChatParser = require('../util/ChatParsers/Creayun');
|
const CreayunChatParser = require('../util/ChatParsers/Creayun');
|
||||||
const sayConsoleChatParser = require('../util/ChatParsers/sayConsole');
|
const sayConsoleChatParser = require('../util/ChatParsers/sayConsole');
|
||||||
const VanillaChatParser = require("../util/ChatParsers/VanillaChat")
|
const VanillaChatParser = require("../util/ChatParsers/VanillaChat");
|
||||||
|
const nbt = require('prismarine-nbt');
|
||||||
function tryParse (json) {
|
function tryParse (json) {
|
||||||
try {
|
try {
|
||||||
return JSON.parse(json)
|
return JSON.parse(json)
|
||||||
|
@ -25,7 +26,7 @@ function chat (bot, options, config) {
|
||||||
bot.on('packet.profileless_chat', packet => {
|
bot.on('packet.profileless_chat', packet => {
|
||||||
const message = tryParse(packet.message)
|
const message = tryParse(packet.message)
|
||||||
const sender = tryParse(packet.name)
|
const sender = tryParse(packet.name)
|
||||||
|
// bot.tellraw("@a", `Packet type ${packet.type}`)
|
||||||
bot.emit('profileless_chat', {
|
bot.emit('profileless_chat', {
|
||||||
message,
|
message,
|
||||||
type: packet.type,
|
type: packet.type,
|
||||||
|
@ -38,12 +39,13 @@ function chat (bot, options, config) {
|
||||||
if (packet.type === 3) bot.emit('message', bot.getMessageAsPrismarine({"translate":"commands.message.display.outgoing","with":[`${translateUsername}`,`${translateMessage}`],"color":"gray","italic":true})?.toMotd())
|
if (packet.type === 3) bot.emit('message', bot.getMessageAsPrismarine({"translate":"commands.message.display.outgoing","with":[`${translateUsername}`,`${translateMessage}`],"color":"gray","italic":true})?.toMotd())
|
||||||
if (packet.type === 4) bot.emit('message', message);
|
if (packet.type === 4) bot.emit('message', message);
|
||||||
if (packet.type === 5) bot.emit('message', bot.getMessageAsPrismarine({translate:"chat.type.announcement",color:'white', with:[`${translateUsername}`,`${translateMessage}`]})?.toMotd())
|
if (packet.type === 5) bot.emit('message', bot.getMessageAsPrismarine({translate:"chat.type.announcement",color:'white', with:[`${translateUsername}`,`${translateMessage}`]})?.toMotd())
|
||||||
|
|
||||||
tryParsingMessage(message, { senderName: sender, players: bot.players, getMessageAsPrismarine: bot.getMessageAsPrismarine })
|
tryParsingMessage(message, { senderName: sender, players: bot.players, getMessageAsPrismarine: bot.getMessageAsPrismarine })
|
||||||
})
|
})
|
||||||
|
|
||||||
bot.on('packet.player_chat', (packet, data) => {
|
bot.on('packet.player_chat', (packet, data) => {
|
||||||
const unsigned = tryParse(packet.unsignedChatContent)
|
const unsigned = tryParse(packet.unsignedChatContent)
|
||||||
|
// const unsigned = JSON.parse(loadPrismarineChat.processNbtMessage(nbt.comp(nbt.string(packet.unsignedChatContent))))
|
||||||
|
// const unsigned = loadPrismarineChat.processNbtMessage(tryParse(packet.unsignedChatContent))
|
||||||
bot.emit('player_chat', { plain: packet.plainMessage, unsigned, senderUuid: packet.senderUuid })
|
bot.emit('player_chat', { plain: packet.plainMessage, unsigned, senderUuid: packet.senderUuid })
|
||||||
if (packet.type === 5) bot.emit('message', bot.getMessageAsPrismarine({ translate: "chat.type.announcement", with: [`${bot.players.find(player => player.uuid === packet.senderUuid).profile.name}`, `${packet.plainMessage}`]})?.toMotd())
|
if (packet.type === 5) bot.emit('message', bot.getMessageAsPrismarine({ translate: "chat.type.announcement", with: [`${bot.players.find(player => player.uuid === packet.senderUuid).profile.name}`, `${packet.plainMessage}`]})?.toMotd())
|
||||||
if (packet.type !== 5) bot.emit("message", unsigned)
|
if (packet.type !== 5) bot.emit("message", unsigned)
|
||||||
|
|
|
@ -129,7 +129,9 @@ function command_manager (bot, options, config, discordClient) {
|
||||||
command.aliases.map((a) => (this.commands[a] = command));
|
command.aliases.map((a) => (this.commands[a] = command));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
unregister (command) {
|
||||||
|
this.commands = {}
|
||||||
|
},
|
||||||
getCommand (name) {
|
getCommand (name) {
|
||||||
return this.commands[name]
|
return this.commands[name]
|
||||||
},
|
},
|
||||||
|
@ -169,5 +171,23 @@ function command_manager (bot, options, config, discordClient) {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
bot.commandManager.reload = function () {
|
||||||
|
commandlist = [];
|
||||||
|
for (const filename of fs.readdirSync(path.join(__dirname, "../commands"))) {
|
||||||
|
try {
|
||||||
|
delete require.cache[require.resolve(path.join(__dirname, "../commands", filename))]
|
||||||
|
const command = require(path.join(__dirname, "../commands", filename));
|
||||||
|
// bot.commandManager.unregister(command);
|
||||||
|
// this.commands = {};
|
||||||
|
bot.commandManager.register(command);
|
||||||
|
bot.commandManager.commandlist.pop(command);
|
||||||
|
// bot.commandManager.register(command);
|
||||||
|
bot.commandManager.commandlist.push(command)
|
||||||
|
} catch (error) {
|
||||||
|
bot.console.error(["Failed to load File ", filename, ":", error.stack])
|
||||||
|
bot.tellraw("@a", { text: `Failed to reload file ${filename}\n${error.stack}`, color: "red" })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
module.exports = command_manager;
|
module.exports = command_manager;
|
||||||
|
|
|
@ -18,7 +18,7 @@ function CommandConsole (bot, options, config) {
|
||||||
rl.on('close', () => {
|
rl.on('close', () => {
|
||||||
this.readline = null
|
this.readline = null
|
||||||
})
|
})
|
||||||
log = function (...args) {
|
log = function (...args) {
|
||||||
rl.output.write("\x1b[2K\r");
|
rl.output.write("\x1b[2K\r");
|
||||||
console.log(args.toString());
|
console.log(args.toString());
|
||||||
rl._refreshLine();
|
rl._refreshLine();
|
||||||
|
@ -38,7 +38,7 @@ function CommandConsole (bot, options, config) {
|
||||||
bot.console.source.sendFeedback = message => {
|
bot.console.source.sendFeedback = message => {
|
||||||
const ansi = bot.getMessageAsPrismarine(message)?.toAnsi(bot.registry.language).replaceAll('BlackStone Mafia On Top!', "Fuck off you god damn cunt")
|
const ansi = bot.getMessageAsPrismarine(message)?.toAnsi(bot.registry.language).replaceAll('BlackStone Mafia On Top!', "Fuck off you god damn cunt")
|
||||||
if (!options.logging) return
|
if (!options.logging) return
|
||||||
bot.console.info(ansi);
|
bot.console.logs(ChatMessage.fromNotch('§8[§6Command§8]')?.toAnsi() + ansi);
|
||||||
}
|
}
|
||||||
bot.console.error = function (message) {
|
bot.console.error = function (message) {
|
||||||
console.log(ChatMessage.fromNotch(`§8[§1${new Date().toLocaleTimeString("en-US", { timeZone: "America/CHICAGO", })} §3${new Date().toLocaleDateString("en-US", { timeZone: "America/CHICAGO", })} §4error§8] §8[${options.serverName}§8] `)?.toAnsi() + message)
|
console.log(ChatMessage.fromNotch(`§8[§1${new Date().toLocaleTimeString("en-US", { timeZone: "America/CHICAGO", })} §3${new Date().toLocaleDateString("en-US", { timeZone: "America/CHICAGO", })} §4error§8] §8[${options.serverName}§8] `)?.toAnsi() + message)
|
||||||
|
|
31
src/sus.js
Normal file
31
src/sus.js
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
module.exports = {
|
||||||
|
name: 'sus',
|
||||||
|
trustLevel: 0,
|
||||||
|
aliases: [
|
||||||
|
"say",
|
||||||
|
"botsay",
|
||||||
|
],
|
||||||
|
description: 'Make me say something',
|
||||||
|
usages: [
|
||||||
|
"<message>"
|
||||||
|
],
|
||||||
|
execute (context) {
|
||||||
|
const bot = context.bot
|
||||||
|
const message = context.arguments.join(' ')
|
||||||
|
|
||||||
|
if (message.startsWith('/')) {
|
||||||
|
bot.chat.command(message.substring(1))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
bot.chat.message(message)
|
||||||
|
},
|
||||||
|
discordExecute (context) {
|
||||||
|
const bot = context.bot;
|
||||||
|
const args = context.arguments;
|
||||||
|
if (args.join(' ').startsWith('/')) {
|
||||||
|
bot.chat.command(args.join(' ').substring(1))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
bot.chat.message(args.join(' '))
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue