polarbub / mc-server-bot Goto Github PK
View Code? Open in Web Editor NEWControl a Minecraft Server in Discord!
Control a Minecraft Server in Discord!
make it so when a backup breaks it retries it on the next backup not just never backing up again until you restart the server?
also add a 'retry' timer in the config
add:
server cpu use
global cpu use
server ram use
global ram use
average cpu temperature
disk read
disk write
server disk read
server disk write
disk active time
server disk active time
maybe:
per core cpu use
server per core cpu use
java do be fast tho xD
When an emoji is sent in the chat bridge such as 😄 put :smile:
in minecraft chat.
When someone dies put the death message in the chat bridge.
when A player joins see if it joined from [local]
and if it is make it say Watching 0 players on the server
rather than Watching 1 player on the server
If you use the /me command in Minecraft to send an asterisked message the bot doesn't pick up on it.
in mc chat /me has a start at the beginning *grandmasterpaul2 is afk
but in discord it is grandmasterpaul2 is afk
see here.
java -jar \mcaselector-1.16.2.jar --mode delete --region --query "Palette = "air" OR Palette !contains "air" AND InhabitedTime < "5 minutes" AND #Entities = 0 AND Structures !contains "EndCity" OR Status != full"
Add .restrictions help
.
Fix the stopping and starting server discord desink by printing server started
when the bot sees itself put [13:44:08] [Server thread/INFO]: Done (6.794s)! Run /geyser help for help!
in the discord channel
If you type a message in Discord that is 1-character long, like "k", it won't be picked up by the bot.
Modularize the main program to be able to hotload changes,
and additional modules
When It tries to print that: it errors out because it is over 2000 characters. Since the line can't be split can you print the first 2000 characters of it and then in a new message line was cut off
or something?
[09:01:49] [main/INFO]: [FabricLoader] Loading 56 mods: [email protected]+a4467d2a95, [email protected]+3fa9f7c595, [email protected], [email protected]+f8ac1db295, com_github_shevek_parallelgzip@master-SNAPSHOT, [email protected], [email protected]+045df74f95, [email protected]+a89534ab95, [email protected]+a4467d2a95, [email protected]+9f0fb4b895, [email protected]+f8ac1db295, [email protected], [email protected]+a4467d2a95, [email protected]+f8ac1db295, [email protected], [email protected], [email protected]+c6a8ea8995, [email protected]+74cc3b2095, [email protected], [email protected]+f8ac1db295, [email protected], [email protected]+432ea18895, [email protected]+build.415-1.16, [email protected], [email protected]+fb0d9b0e95, [email protected]+e00ecb5f95, [email protected], [email protected]+b50ffc7b95, [email protected]+8724984195, [email protected], [email protected]+a4467d2a95, [email protected]+j1.2.0, [email protected]+build.7, [email protected]+2b46237995, [email protected]+a4467d2a95, [email protected], [email protected]+b7f9825d95, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+f8ac1db295, [email protected]+730711c695, [email protected]+f8ac1db295, [email protected], [email protected]+facf3bbf95, [email protected]+arne.1, [email protected]+059ea86695, [email protected]+ac8e8c5995, [email protected]+8367596d95, [email protected]+52d3083695, [email protected]+a4467d2a95, [email protected], [email protected]+b764ce9995, [email protected]+16acbe5b95, [email protected]+f8ac1db295, [email protected]+a4467d2a95, [email protected]+a4467d2a95
basically that except no need for the fancy command
.say hi
= on server `[Discord] Hi
tellraw @A ["",{"text":"[ Discord ]","color":"dark_blue"},{"text":"< "},{"text":"Polarbub","color":"orange"},{"text":" >"},{"text":"ur alt is now whitelisted"}]
When one module crashes it should crash the whole bot / reload that module.
make the .permissions responses a embeds.
Applications System:
End User Experience:
IN: #bot-spam
user: reacts to application message in #welcome
IN: DMs
bot: What is your ign?
User: their ign
Bot: What could you bring to the server?
Bot: Remember the more you give the more we have to work with.
User: their reason
Bot: Thank you for your application it will be soon reviewed
IN: #applications
Bot: User has Applied
Bot: Their ign is: IGN
Bot: Why they would like to be on Protosky is:
On a new line
Bot: their reason
Check, X and ⏰ are reacted by the bot to the final message
people can vote on letting the person in with the x and check
Once the 48 hour voting period is up someone with finish vote
permission reacts with the alarm clock finishing the vote and making sure the person is okay to join if the vote is in favor OR 48 hours is up.
The application is then moved to #archived-apps
If the person is accepted then they are given the @server Member role and their ign is whitelisted with .exec whitelist add their ign
.
@polarbub
shows up with an extra unknown character
...^there.
.exec help would be used to show all commands available in the .exec category
Add .ip
for my global ip. uses some sort of api for this
Make help into an embed.
(properties.txt, ops.txt, etc)
vytross's idea
.bot
options:
.bot spawn <bot name> <player to spawn at's name>
(spawns a carpet bot)
.bot remove <bot name>
(removes a bot)
and
.bot list
(lists bots)
so .bot spawn bee Google_Alt
and .bot remove bee
and there is a bot cap of 5
I think carpet bots get removed at server restart so no need to write down the names of the bots in a .json file.
For the bot cap you could use a global variable that gets added to or subtracted from every time one of the commands is run.
If you wanted to go above and beyond you could at .stop
save the all bots settings to a .json file to remember them for the next time the server is .start
ed
Make multi line messages appear as multiple lines in minecraft.
basically image integration in mc. you could also use unicode to display them similar to the 'important' book on protosky.
Make the .status command have a cool down of 1 minute (except for server admins) to prevent spamming the command
Add .pcrestart
to restart the pc. I can make the bot start at system start using task scheduler
Gets the latest github release and updates the bot's code.
Add git based backups for the running server
Additional:
the title says it all
Make a command to report players for hacking, bullying etc.
this will happen through dm with the bot where you will answer the questions the bot asks
q1: reason for report
q2: please give a detailed explanation of the issue
q3: minecraft ign
q4: discord name and tag for example DragonLord25#0001
Then the bot will say “thank you for the report a channel has been created and an admin will contact you ASAP” the bot will create a channel that only server admins and the person who made the report will have access to where they will talk about the issue. Also the command will not work on the server and using the command will only work over dms but the channel will be created in the distance server
to close the channel an admin will do .close in the channel only closing the channel the command was sent in
auto push the git repo to github somehow
And the git backups don't work
[14:49:33] [Server thread/INFO]: [Server] Backing up
[14:49:34] [Server thread/INFO]: Automatic saving is now disabled
[14:49:35] [Server thread/INFO]: Saving the game (this may take a moment!)
[14:49:35] [Server thread/INFO]: Saved the game
GitError: fatal: Unable to create 'D:/protosky/.git/index.lock': File exists.
Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
at GitExecutorChain.onFatalException (D:\protosky\node_modules\simple-git\src\lib\runners\git-executor-chain.js:61:87)
at GitExecutorChain.<anonymous> (D:\protosky\node_modules\simple-git\src\lib\runners\git-executor-chain.js:52:28)
at Generator.throw (<anonymous>)
at rejected (D:\protosky\node_modules\simple-git\src\lib\runners\git-executor-chain.js:6:65)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
task: {
concatStdErr: false,
onError: undefined,
format: 'utf-8',
parser: [Function: parser],
commands: [ 'add', '.' ]
}
}
GitError: error: pathspec '.' did not match any file(s) known to git
at GitExecutorChain.onFatalException (D:\protosky\node_modules\simple-git\src\lib\runners\git-executor-chain.js:61:87)
at GitExecutorChain.<anonymous> (D:\protosky\node_modules\simple-git\src\lib\runners\git-executor-chain.js:52:28)
at Generator.throw (<anonymous>)
at rejected (D:\protosky\node_modules\simple-git\src\lib\runners\git-executor-chain.js:6:65)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
task: {
commands: [
'commit',
'-m',
'1/21/2021, 2:49:36 PM',
'.',
'--author="Backup <Backup@localhost>"',
'--allow-empty'
],
format: 'utf-8',
parser: [Function: parseCommitResult]
}
}
[14:49:36] [Server thread/INFO]: Automatic saving is now enabled
(node:9404) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'commit' of undefined
at Timeout._onTimeout (D:\protosky\bin\scripts\modules\BackupModule.js:70:100)
(node:9404) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 27)
Failed to retrieve the status of the server within time```
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.