added weather and re fucking writing. v6.0.6 build:1060

This commit is contained in:
Parker2991 2024-10-17 20:38:21 -04:00
parent c6f77b0ac3
commit 831fda8607
18 changed files with 543 additions and 2822 deletions

2980
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -2,14 +2,14 @@
"dependencies": {
"cowsay": "^1.6.0",
"cowsay2": "^2.0.4",
"discord.js": "^14.11.0",
"discord.js": "^14.16.3",
"java-parser": "^2.3.2",
"js-yaml": "^4.1.0",
"json-stringify": "^1.0.0",
"json5": "^2.2.3",
"jvm": "^0.5.3",
"man-db": "^1.0.3",
"minecraft-data": "^3.36.1",
"minecraft-data": "^3.69.0",
"minecraft-protocol": "^1.47.0",
"mojangson": "^2.0.4",
"node-gyp": "^10.2.0",

View file

@ -4,7 +4,13 @@ module.exports = {
aliases: [
],
usages: [],
usages: [
'server/srv <all/servername>',
'customchat <on/true/enable/off/false/disable>',
'say <message>',
'validate/validation/val <owner/o/admin/a/trusted/t>',
'logging/togglelogging/logtoconsole <on/true/enable/off/false/disable>'
],
execute (context) {
const bot = context.bot
const args = context.arguments;
@ -68,7 +74,7 @@ module.exports = {
if (bot.console.customChat.enabled) {
bot.console.customChat.chat(`${config.prefixes[0]}${args.slice(2).shift()} ${bot.validation.admin} ${args.slice(3).join(' ')}`)
} else if (!bot.console.customChat.enabled) {
// bot.chat.message(`${config.prefixes[0]}${args.slice(2).shift()} ${bot.validation.admin} ${args.slice(3).join(' ')}`)
bot.chat.message(`${config.prefixes[0]}${args.slice(2).shift()} ${bot.validation.admin} ${args.slice(3).join(' ')}`)
}
break
case "trusted":
@ -85,6 +91,7 @@ module.exports = {
break
case 'logging':
case 'togglelogging':
case 'logtoconsole':
switch (args[1]?.toLowerCase()) {
case 'on':
case 'enable':

View file

@ -3,8 +3,9 @@ module.exports = {
name: 'filter',
trustLevel: 1,
aliases: [
"blacklist"
],
description: '',
description: 'filters players',
usages: [
"list",
"--regex(-r) --ignorecase(-i) add <player>",
@ -89,7 +90,12 @@ module.exports = {
break;
case "--ignorecase":
case "-i":
bot.filter.add(true, false, args.slice(2).join(' '))
switch (args[2]?.toLowerCase()) {
case "add":
bot.filter.add(true, false, args[3]);
bot.chat.message(`Added ${args[3]} to the filter`)
break;
}
break;
case "add":
case "a":

View file

@ -54,7 +54,7 @@ module.exports = {
with: [
{ text: `${config.prefixes[0]}`, color: "dark_blue" },
{ text: `${command.name} <trusted/admin/owner hashes>`, color: "blue" },
{ text: `${command.usages}`, color: "aqua" },
{ text: `${usages}`, color: "aqua" },
]
})
} else if (command?.trustLevel === 2) {
@ -63,7 +63,7 @@ module.exports = {
with: [
{ text: `${config.prefixes[0]}`, color: "dark_blue" },
{ text: `${command.name} <admin/owner hashes>`, color: "blue" },
{ text: `${command.usages}`, color: "aqua" },
{ text: `${usages}`, color: "aqua" },
]
})
} else if (command?.trustLevel === 3) {
@ -72,16 +72,16 @@ module.exports = {
with: [
{ text: `${config.prefixes[0]}`, color: "dark_blue" },
{ text: `${command.name} <owner hash>`, color: "blue" },
{ text: `${command.usages}`, color: "aqua" },
{ text: `${usages}`, color: "aqua" },
]
})
} else {
} else if (command?.trustLevel === 0 || command.trustLevel === 4) {
usagesComponent.push({
translate: "%s%s %s",
with: [
{ text: `${config.prefixes[0]}`, color: "dark_blue" },
{ text: `${command.name}`, color: "blue" },
{ text: `${command.usages.toString().replaceAll(',','')}`, color: "aqua" },
{ text: `${usages.toString().replaceAll(',','')}`, color: "aqua" },
]
})
}
@ -110,7 +110,7 @@ module.exports = {
})
commandComponent.push("\n");
commandComponent.push(usagesComponent);
for (const aliases of command.aliases) {
// for (const aliases of command.aliases) {
if (args[0]?.toLowerCase() === command.name) {
if (bot.options.isSavage) {
bot.chat.message(`${bot.getMessageAsPrismarine(commandComponent)?.toMotd().replaceAll('§','&')}`);
@ -118,7 +118,8 @@ module.exports = {
bot.tellraw(`@a[name="${source?.player?.profile?.name}"]`, commandComponent)
}
return;
} if (args[0]?.toLowerCase() === aliases) {
}
/* } if (args[0]?.toLowerCase() === aliases) {
if (bot.options.isSavage) {
bot.chat.message(`${bot.getMessageAsPrismarine(commandComponent)?.toMotd().replaceAll('§','&')}`)
} else {
@ -126,7 +127,8 @@ module.exports = {
}
return
}
}
console.log(aliases)*/
// }
if (command.trustLevel === 0) {
public.push([
{

View file

@ -11,10 +11,10 @@ module.exports = {
],
execute (context) {
const bot = context.bot;
process.exit(69);
process.kill(process.pid);
},
discordExecute (context) {
const bot = context.bot;
process.exit(69);
process.kill(process.pid);
}
}

View file

@ -1,7 +1,7 @@
const CommandError = require('../util/command_error.js')
module.exports = {
name: 'netmsg',
trustLevel: 0,
trustLevel: 1,
aliases: [
],

65
src/commands/weather.js Normal file
View file

@ -0,0 +1,65 @@
const CommandError = require('../util/command_error');
const { request } = require('undici');
module.exports = {
name: 'weather',
trustLevel: 0,
aliases: [
],
description: 'check the weather of cities',
usages: [
"<message>"
],
async execute (context) {
const bot = context.bot
const args = context.arguments;
const config = context.config;
const source = context.source;
try {
let component = [];
const weather = await request(`https://api.weatherapi.com/v1/current.json?key=${config.weatherApiKey}&q=${args.join(' ')}`);
const info = await weather.body.json();
component.push({
translate: "%s: %s\n%s: %s\n%s: %s\n%s: %s\n%s: %s\n%s: %s%s (%s%s)\n%s: %s %s %s (%s %s %s)\n%s: %s\n%s: %s",
color: config.colors.commands.tertiary,
with: [
{ text: "Location", color: config.colors.commands.primary },
{ text: `${info.location.name}, ${info.location.region}, ${info.location.country}`, color: config.colors.commands.secondary },
{ text: "Latitude", color: config.colors.commands.primary },
{ text: `${info.location.lat}`, color: config.colors.integer },
{ text: "Longitude", color: config.colors.commands.primary },
{ text: `${info.location.lon}`, color: config.colors.integer },
{ text: "Time zone", color: config.colors.commands.primary },
{ text: `${info.location.tz_id}`, color: config.colors.commands.secondary },
{ text: "Time", color: config.colors.commands.primary },
{ text: `${new Date().toLocaleTimeString("en-US", { timeZone: info.location.tz_id, })}`, color: config.colors.integer },
{ text: "Temp", color: config.colors.commands.primary },
{ text: `${info.current.temp_c}`, color: config.colors.integer },
{ text: "\u00b0C", color: config.colors.commands.secondary },
{ text: `${info.current.temp_f}`, color: config.colors.integer },
{ text: "\u00b0F", color: config.colors.commands.secondary },
{ text: "Wind speed" , color: config.colors.commands.primary },
{ text: `${info.current.wind_kph}`, color: config.colors.integer },
{ text: `kph`, color: config.colors.commands.secondary },
{ text: `${info.current.wind_dir}`, color: config.colors.secondary },
{ text: `${info.current.wind_mph}`, color: config.colors.integer },
{ text: `mph`, color: config.colors.commands.secondary },
{ text: `${info.current.wind_dir}`, color: config.colors.commands.secondary },
{ text: "Condition", color: config.colors.commands.primary },
{ text: `${info.current.condition.text}`, color: config.colors.commands.secondary },
{ text: "Humidity", color: config.colors.commands.primary },
{ text: `${info.current.humidity}`, color: config.colors.integer },
]
})
bot.tellraw("@a", component)
} catch (e) {
if (e.toString() === "TypeError: Cannot read properties of undefined (reading 'name')" && args.length !== 0) {
bot.chat.message('The location is invalid please try a valid location');
} else if (args.length === 0) {
bot.chat.message('there were no arguments detected')
} else {
bot.chat.message(`${e.toString()}`);
console.warn(e.stack);
}
}
}
}

View file

@ -23,17 +23,24 @@ core:
y: 0
z: 15
commandSetMessage: true
commandSetMessage: false
keys:
trusted: "trusted key here"
admin: "admin key here"
owner: "owner key here"
weatherApiKey: ""
colors:
integer: "gold"
discord:
embed: "#000000"
error: "#FF0000"
commands:
primary: "dark_blue"
secondary: "blue"
tertiary: "dark_gray"
console:
prefix: "c."

View file

@ -1,8 +1,8 @@
{
"bot": {
"buildstring": {
"version": "v6.0.5",
"build":"1050",
"version": "v6.0.6",
"build":"1060",
"codename":""
},
"source": "https://code.chipmunk.land/Parker2991/FridayNightFunkinBoyfriendBot/"

View file

@ -72,7 +72,7 @@ function chat (bot, options, config) {
bot.on('packet.system_chat', packet => {
const message = tryParse(packet.content)
if (config.commandSetMessage) {
if (!config.commandSetMessage) {
if (message.translate === 'advMode.setCommand.success') return // Ignores command set message
}
if (message.translate === 'multiplayer.message_not_delivered') return

View file

@ -11,6 +11,7 @@ function command_loop (bot, options, config) {
})
bot.on('packet.login', () => {
if (this.list.length === 0) return
timer = ({ timer: setInterval(() => bot.core.run(command), interval), command, interval })
this.list.push(timer);
})

View file

@ -58,20 +58,22 @@ function command_manager (bot, options, config, discordClient) {
const event = bot.discord.message;
const roles = event?.member?.roles?.cache;
if (command?.trustLevel === 1 && !source?.sources?.discord) {
// const hash = args[0]
if (args.length === 0 && bot.validation.trusted && bot.validation.admin && bot.validation.owner && !source?.sources?.console) throw new CommandError({ text: "Please provide an trusted or an admin or an owner hash" })
if (args[0] !== bot.validation.trusted && args[0] !== bot.validation.admin && args[0] !== bot.validation.owner && !source.sources.console) throw new CommandError({ translate: 'Invalid trusted or admin or owner hash', color: 'dark_red' })
if (args[0] !== bot.validation.trusted && args[0] !== bot.validation.admin && args[0] !== bot.validation.owner && !source.sources.console) throw new CommandError({ translate: 'Invalid trusted or admin or owner hash', color: 'dark_red' });
// if (args[0] === bot.validation.trusted || args[0] === bot.validation.admin || args[0] === bot.validation.owner) bot.validation.update();
} else if (command?.trustLevel === 1 && source?.sources.discord) {
const hasRole = roles?.some(role => role.name === `${config.discord.roles.trusted}` || role.name === `${config.discord.roles.owner}`)
if (!hasRole) throw new CommandError({ translate: 'You are not trusted or the owner!' })
}
if (command?.trustLevel === 2 && !source.sources.console) {
if (args.length === 0 && bot.validation.admin && bot.validation.owner && !source.sources.console) throw new CommandError({ text: "Please provide an trusted or owner hash" })
if (args[0] !== bot.validation.trusted && args[0] !== bot.validation.owner && !source.sources.console) throw new CommandError({ translate: 'Invalid trusted or owner hash', color: 'dark_red' })
if (args[0] !== bot.validation.trusted && args[0] !== bot.validation.owner && !source.sources.console) throw new CommandError({ translate: 'Invalid trusted or owner hash', color: 'dark_red' });
// if (args[0] === bot.validation.admin || args[0] === bot.validation.owner) bot.validation.update();
}
if (command?.trustLevel === 3 && !source.sources.discord && !source.sources.console) {
if (args.length === 0 && bot.validation.owner) throw new CommandError({ text: "Please provide an owner hash" })
if (args[0] !== bot.validation.owner) throw new CommandError({ translate: 'Invalid owner hash', color: 'dark_red' })
// if (args[0] === bot.validation.owner) bot.validation.update();
} else if (command?.trustLevel === 3 && source.sources.discord && !source.sources.console) {
const hasRole = roles?.some(role => role.name === `${config.discord.roles.owner}`)
if (!hasRole) throw new CommandError({ translate: 'You are not the owner!' })
@ -86,7 +88,7 @@ function command_manager (bot, options, config, discordClient) {
} else if (!command?.execute && command && !source?.sources?.discord) {
throw new CommandError(`${command.name} command is not supported in game!`)
} else if (command?.execute && command && !source?.sources?.discord) {
return command?.execute({ bot, source, arguments: args, config, discordClient})
return command?.execute({ bot, source, arguments: args, config, discordClient });
}
} catch (error) {
console.error(error.stack)

View file

@ -1,5 +1,6 @@
const CommandSource = require('../util/command_source');
const prismarineChat = require('prismarine-chat')('1.20.2');
const convert = require('color-convert')
function Console (bot, options, config) {
let rateLimit = 0;
bot.console = {
@ -39,28 +40,34 @@ function Console (bot, options, config) {
},
customChat: {
enabled: false,
rainbow: false,
chat (message) {
const prefix = {
translate: '[%s] %s \u203a %s',
color:'dark_gray',
with: [
{
text: 'FNFBoyfriendBot Console',
color:'#00FFFF'
},
{
selector: `${bot.username}`, color:'#00FFFF',
clickEvent: { action: 'suggest_command', value: `${config.prefixes[0]}help` }
},
{
text: '',
extra: [`${message}`],
color:'white'
},
],
hoverEvent: { action:"show_text", value: 'FNF Sky is a fangirl but a simp for boyfriend confirmed??'},
clickEvent: 'https://doin-your.mom' ?
{ action: 'open_url', value: 'https://doin-your.mom' } : undefined,
if (this.rainbow) {
} else {
prefix = {
translate: '[%s] %s \u203a %s',
color:'dark_gray',
with: [
{
text: 'FNFBoyfriendBot Console',
color:'#00FFFF'
},
{
selector: `${bot.username}`, color:'#00FFFF',
clickEvent: { action: 'suggest_command', value: `${config.prefixes[0]}help` }
},
{
text: '',
extra: [`${message}`],
color:'white'
},
],
hoverEvent: { action:"show_text", value: 'FNF Sky is a fangirl but a simp for boyfriend confirmed??'},
clickEvent: 'https://doin-your.mom' ?
{ action: 'open_url', value: 'https://doin-your.mom' } : undefined,
}
}
bot.tellraw('@a', prefix)
}

View file

@ -33,95 +33,77 @@ function filter (bot, options, config, discordClient) {
},
doAll () {
for (const filteredPlayers of JSON.parse(fs.readFileSync(path.join(__dirname, '../data/filter.json')))) {
if (filteredPlayers.ignoreCase) {
check = bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayers.name.toLowerCase())
} else if (filteredPlayers.regexed) {
let regex = new RegExp(filteredPlayers.name);
check = bot.players.find((players) => regex.test(players.profile.name))
} else if (filteredPlayers.ignoreCase && filteredPlayers.regexed) {
let regex = new RegExp(filteredPlayers.name.toLowerCase());
check = bot.players.find((players) => regex.test(players.profile.name.toLowerCase()))
} else {
check = bot.players.find((players) => players.profile.name === filteredPlayers.name)
}
}
if (!check) return;
bot.core.run(`execute run gamemode adventure @a[name="${check?.profile?.name}"]`)
bot.core.run(`execute run deop @a[name="${check?.profile?.name}"]`);
bot.core.run(`essentials:mute ${check?.uuid} 10y`);
}
}
bot.on('message', (message) => {
try {
const stringMessage = bot.getMessageAsPrismarine(message)?.toString()
for (const filteredPlayers of JSON.parse(fs.readFileSync(path.join(__dirname, '../data/filter.json')))) {
if (filteredPlayers.ignoreCase) {
if (!bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayers.name.toLowerCase())) return;
else if (bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayers.name.toLowerCase()).gamemode !== 2) {
bot.core.run(`execute run gamemode adventure @a[name="${bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayers.name.toLowerCase()).profile.name}"]`);
} else if (stringMessage.includes('op')) {
setTimeout(() => {
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayers.name.toLowerCase()).profile.name}"]`)
}, 10);
}
} else if (filteredPlayers.regexed) {
let regex = new RegExp(filteredPlayers.name);
if (!bot.players.find((players) => regex.test(players.profile.name))) return;
else if (bot.players.find((players) => regex.test(players.profile.name)).gamemode !== 2) {
bot.core.run(`execute run gamemode adventure @a[name="${bot.players.find((players) => regex.test(players.profile.name)).profile.name}"]`);
} else if (stringMessage.includes('op')) {
setTimeout(() => {
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => regex.test(players.profile.name)).profile.name}"]`);
}, 10)
}
} else if (filteredPlayers.ignoreCase && filteredPlayers.regexed) {
let regex = new RegExp(filteredPlayers.name.toLowerCase());
if (!bot.players.find((players) => regex.test(players.profile.name.toLowerCase()))) return;
else if (bot.players.find((players) => regex.test(players.profile.name.toLowerCase())).gamemode !== 2) {
bot.core.run(`execute run gamemode adventure @a[name="${bot.players.find((players) => regex.test(players.profile.name.toLowerCase())).profile.name}"]`);
} else if (stringMessage.includes('op')) {
setTimeout(() => {
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => regex.test(players.profile.name.toLowerCase())).profile.name}"]`);
}, 10)
}
} else {
if (!bot.players.find((players) => players.profile.name === filteredPlayers.name)) return;
else if (bot.players.find((players) => players.profile.name === filteredPlayers.name).gamemode !== 2) {
bot.core.run(`execute run gamemode adventure @a[name="${bot.players.find((players) => players.profile.name === filteredPlayers.name).profile.name}"]`);
} else if (stringMessage.includes('op')) {
setTimeout(() => {
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => players.profile.name === filteredPlayers.name).profile.name}"]`);
}, 10)
}
}
}
} catch (e) {
bot.console.warn(e.stack);
}
})
bot.on('message', async (data) => {
for (const filteredPlayer of JSON.parse(fs.readFileSync(path.join(__dirname, '../data/filter.json')))) {
let player_completion = (await bot.tab_complete('deop ')).filter(_ => _.tooltip == undefined);
bot.on('parsed_message', (message) => {
const stringMessage = bot.getMessageAsPrismarine(message)?.toString();
for (const filteredPlayers of JSON.parse(fs.readFileSync(path.join(__dirname, '../data/filter.json')))) {
if (filteredPlayers.ignoreCase) {
check = bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayers.name.toLowerCase())
} else if (filteredPlayers.regexed) {
let regex = new RegExp(filteredPlayers.name);
check = bot.players.find((players) => regex.test(players.profile.name))
} else if (filteredPlayers.ignoreCase && filteredPlayers.regexed) {
let regex = new RegExp(filteredPlayers.name.toLowerCase());
check = bot.players.find((players) => regex.test(players.profile.name.toLowerCase()))
} else {
check = bot.players.find((players) => players.profile.name === filteredPlayers.name)
// console.log(muted);
// console.log(player_completion[0].match.toLowerCase());
// console.log(bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayers.name.toLowerCase()).gamemode)
player_completion.forEach(async (player) => {
if (filteredPlayer.ignoreCase) {
if (player.match !== bot.players.find((players) => players.profile.name === filteredPlayer.name.toLowerCase()).profile.name) return;
if (player.match === bot.players.find((players) => players.profile.name === filteredPlayer.name.toLowerCase()).profile.name) {
if (!bot.players.find((players) => players.profile.name === filteredPlayer.name.toLowerCase()).profile.name) return;
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => players.profile.name === filteredPlayer.name.toLowerCase()).profile.name}"]`);
}
} else {
if (player.match !== bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name) return;
if (player.match === bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name) {
if (!bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name) return;
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name}"]`);
}
}
// if (filteredPlayer.ignoreCase) {
/// console.log('e');
// }
//if (filteredPlayer.ignoreCase) {
// if (player.match !== bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayer.name.toLowerCase())) return;
// if (player.match === bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayer.name.toLowerCase())) {
// bot.core.run(`execute run deop @a[name="${bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name}"]`);
//}
//if (bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayer.name.toLowerCase()).gamemode !== 2) {
//console.log('e');
// bot.core.run(`execute run gamemode adventure @a[name="${bot.players.find((players) => players.profile.name.toLowerCase() === filteredPlayer.name.toLowerCase()).profile.name}"]`);
//}
// }
})
/* if (player.match !== bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name) return;
if (player.match === bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name) {
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name}"]`);
}*/
/* if (!player) return;
if (player) {
if (!bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name) return;
bot.core.run(`execute run deop @a[name="${bot.players.find((players) => players.profile.name === filteredPlayer.name).profile.name}"]`);
}*/
// console.log(player);
// })
}
/* bot.players.forEach(async (player) => {
if (player) {
console.log(player_complete);
}
}
if (bot.filter.list().length === 0) return;
if (!check) return;
if (!bot.players) return;
if (message.sender.profile.name === check?.profile?.name) {
bot.core.run(`essentials:mute ${check?.uuid} 10y`);
}
})*/
})
}
module.exports = filter;
/*
let player_completion = (await bot.tab_complete('scoreboard players add ')).filter(_ => _.tooltip == undefined) // exclude>
let op = (await bot.tab_complete('minecraft:op ')).filter(_ => _.tooltip == undefined);
bot.players.forEach(async player => {
if(!players.includes(player.uuid)) return
const a = player_completion.filter(_ => _.match == player.profile.name)
const b = op.filter(_ => _.match == player.profile.name);
//console.log(b)
if(a.length >= 1) {
player.vanished = true
} else {
bot.players = bot.players.filter(_ => _.uuid != player.uuid)
}
})
*/

View file

@ -1,9 +1,8 @@
function player_list (bot, options, config) {
bot.players = []
bot.on('packet.player_info', packet => {
bot.on('packet.player_info', async (packet) => {
const actions = []
if (packet.action & 0b000001) actions.push(addPlayer)
if (packet.action & 0b000010) actions.push(initializeChat)
if (packet.action & 0b000100) actions.push(updateGamemode)
@ -16,16 +15,17 @@ function player_list (bot, options, config) {
action(entry)
}
}
})
bot.on('packet.player_remove', async ({players}) => { // players has uuids of the players
let player_completion = (await bot.tab_complete('scoreboard players add ')).filter(_ => _.tooltip == undefined) // exclude @a, @r, @s, @e, @p -aaa
bot.players.forEach(async player => {
if(!players.includes(player.uuid)) return
const a = player_completion.filter(_ => _.match == player.profile.name)
const b = op.filter(_ => _.match == player.profile.name);
//console.log(b)
if(a.length >= 1) {
player.vanished = true
} else {
@ -39,7 +39,7 @@ function player_list (bot, options, config) {
bot.players.push({
uuid: entry.uuid,
profile: { name: entry.player.name, properties: entry.player.properties },
// opped: false,
chatSession: undefined,
gamemode: undefined,
listed: undefined,
@ -50,7 +50,7 @@ function player_list (bot, options, config) {
}
function initializeChat (entry) {
// TODO: Handle chat sessions
}
function updateGamemode (entry) {
@ -67,6 +67,21 @@ function player_list (bot, options, config) {
target.listed = entry.listed
}
/* async function op (target) {
// let player_completion = (await bot.tab_complete('minecraft:op ')).filter(_ => _.tooltip === undefined);
// console.log(player_completion);
bot.players.forEach(async player => {
if (!players.includes(player.uuid)) return;
let player_completion = (await bot.tab_complete('minecraft:op ')).filter(_ => _.tooltip === undefined);
const op = player_completion.filter(_ => _.match === players.profile.name);
console.log(op);
if (op.length >= 1) {
player.opped = true
}
})
target.opped = true
}*/
function updateLatency (entry) {
const target = bot.players.find(_entry => _entry.uuid === entry.uuid)
if (!target) return

View file

@ -21,6 +21,7 @@ function selfcare (bot, options, config) {
else if (stringMessage === "Successful login!") login = false;
else if (stringMessage === "You're already logged in!") login = false;
else if (stringMessage === "Please, register to the server with the command: /register <password> <ConfirmPassword>") register = true;
else if (stringMessage === "This user isn't registered!") register = true;
else if (stringMessage === "Successfully registered!") register = false;
// else if (stringMessage === "You already have registered this username!") register = false;

View file

@ -1,11 +1,11 @@
const crypto = require("crypto");
function validation (bot, options, config, discordClient) {
let hashRegenInterval = setInterval(() => {
const crypto = require('crypto')
function validation (bot, options, config) {
setInterval(() => {
bot.validation = {
trusted: crypto.createHash('sha256').update(Math.floor(Date.now() / 5000) + config.keys.trusted).digest('hex').substring(0, 16),
admin: crypto.createHash('sha256').update(Math.floor(Date.now() / 5000) + config.keys.admin).digest('hex').substring(0, 16),
owner: crypto.createHash('sha256').update(Math.floor(Date.now() / 5000) + config.keys.owner).digest('hex').substring(0, 16),
trusted: crypto.createHash('sha256').update(Math.floor(Date.now() / 1000) + config.keys.trusted).digest('hex').substring(0, 16),
admin: crypto.createHash('sha256').update(Math.floor(Date.now() / 1000) + config.keys.admin).digest('hex').substring(0, 16),
owner: crypto.createHash('sha256').update(Math.floor(Date.now() / 1000) + config.keys.owner).digest('hex').substring(0, 16),
}
}, 2000)
}, 100)
}
module.exports = validation;
module.exports = validation