You are browsing as a guest. Sign up (or log in) to start making projects!

GoldMonke

@GoldMonke

Joined May 31st, 2026

  • 13Devlogs
  • 3Projects
  • 2Ships
  • 34Votes
Ship ✨ Blessed

I updated Craftie, a bot that can fetch minecraft-related things for slack, and with this ship, discord :discord: !

For this ship I added all commands to discord and, for the most challenging part made all messages and some other values configurable.

I’m really glad I went on with this challenge as I learned about a lot of new topics going through this.

To test the bot yourself on slack, you can join #gold-coding or #bot-spam, and type /craftie-help to get help with the commands, although reading the README.md on github is recommended for more info.

The same goes for discord, although the commands there are a bit different, as they’re not prefixed with craftie-. To test the bot there you can either add it to your own discord server or as a personal app using the invite link. The other, easier option is to join my discord server, where the bot is already added and you can test it in #bot-commands.

  • 6 devlogs
  • 17h
  • 9.62x multiplier
  • 194 Stardust
Try project → See source code →
Open comments for this post

5h 50m 52s logged

Finished discord support!

I have now completed adding discord support to the bot. After some shuffling around I got the last commands working, and now the bot is fully configurable as well!

By editing config.js you can change all kinds of parameters, for example all api urls can be changed (although they should reply in a similar way to work), and you can change default values such as the default icon used, the default port per server type, and the timeout used for requests. You can also configure the width, height and font used for player images. I also

There is also a messages.js file now, where you can configure the messages the bot replies with, for example on a certain error and the footer used for discord component v2 embeds.

0
0
5
Open comments for this post

7h 46m 33s logged

A lot of changes

I started working on this project again after a while and now I already have almost 8 hours to be logged.
I have since started working on making this bot also be supported on discord, by first refactoring all my slack commands to be modular so I can easily request server status information :yay:
I also made the first two slack commands to be on :discord: discord: those are the /ping and /status commands. the /ping command just simply replies with a message “pong!”, and the /status command uses discord’s components v2 via discord.js to make the output look as nice as possible. You can see it in the attached screenshot.

Some errors I still have though are the following:

  • the online player list gets formatted by discord, like you can see the spoilered text in the image below.
  • the mcstatus api for some reason has been reporting hypixel to be offline mosly for the last ~7 days.

I want to fix these errors and also add the other slack commands to discord, and then maybe even look into making the message of the day look better. (colors…??)

0
0
8
Open comments for this post

2h 7m 57s logged

IDK how ts took 2 hrs

I was looking on egorro’s site blueprint that collects create addons and puts them nicely together, when I noticed that on my monitor (1440p) the text was overflowing in the info cards.

So as any normal person would do I tried to fix it.

I tried and I tried until I eventually fixed it by modifying the padding for large screens (2xl so 1536px wide and more) from 4 to 1. No idea how it took me TWO HOURS before I found that I tried so many different ways.

PR

0
0
3
Open comments for this post

38m 33s logged

I’m finally back home! :yay:

After having noticed a bug since the beginning of my vacation in France I’ve been eager to fix it which I’ve now finally been able to do.
The API I used for server icon fetching went down / discontinued so I made it use the same api as all others (idk why I used another one in the first place)

Other Changes:

I’ve also made some other fixes since my last devlog, these are just like simple spelling errors but I also made all requests be fetched with retries, so there is less chance of things breaking. Also when a server is offline the max players is now reported as zero.

0
0
4
Open comments for this post

1h 2m 16s logged

A lot of bugfixes :error:

I fixed a lot of bugs with the :slack: bot causing unnecessary errors and other unintended things. Some of these include:

  • Retrying failed requests (this fixes the images sometimes not generating because somehow once in a while the first request to mcheads fails.)
  • Add better error handling for players. (fixes the message that should happen when trying to fetch a player that does not exist (Wifies reference!!?? /s) )
  • Now register font separately from command for more performance
  • Fix some errors in logging

Changelog

0
0
5
Open comments for this post

37m 59s logged

Added a ton of debug logging to find out WHYYYY

sometimes my bot’s command, /craftie-player will just hang and only place the generating message and not anything else.

So now I added TONS of debug logging to (hopefully) finally find out
why this happen(s/ed).
I also changed the way it puts the image to use
axios with a timeout so it can still do something if it fails.

let’s hope this will work :)

0
0
5
Open comments for this post
Reposted by @GoldMonke

51m 31s logged

Devlog 7 - I don’t even know how I didn’t find this yet

Fixed a bug where the bot gives an error if you try to fetch a java server without an srv record. It now first checks if the srvrecord.port object is there in the api request and otherwise it sets the srvPort variable to a supplied port in the command (if given, although I don’t think doing that was even necessery whatsoever)

0
1
4
Open comments for this post

51m 31s logged

Devlog 7 - I don’t even know how I didn’t find this yet

Fixed a bug where the bot gives an error if you try to fetch a java server without an srv record. It now first checks if the srvrecord.port object is there in the api request and otherwise it sets the srvPort variable to a supplied port in the command (if given, although I don’t think doing that was even necessery whatsoever)

0
1
4
Ship

I made a slackbot that displays info on a minecraft server or player and puts that into a nice image or slack block. I had some struggles with creating and sending the image but it was overall a pretty easy project. To test this project you should know you can best use the channels #monke-coding or #bot-spam because otherwise you need to add the bot first to the channel for the image sending to work.

Try project → See source code →
Open comments for this post

41m 48s logged

Devlog 6

I now made a little fix to the player command to display the correct username and it now shows a full body image. I also wrote a README for the GitHub repo of the bot so it’s easier to understand how the bot works and how to use it.

0
0
6
Open comments for this post

2h 49m 16s logged

Good Bots Need Good Styling

I made a lot of QoL additions to the bot to make using it more pleasant. To start I added a pfp to the bot so it’s more recognizable, which as of right now is just a pixelated (minecraft) version of my pfp but I want to change it later if I got more time.
I also added the command /craftie-player <Name|UUID> where you can get information on players like their uuid and username (although you should already know one of them by using the command) with a nice profile-card like image generated with the canvas library.

It also shows the player head, and I want to later add buttons or something like that below to download the skins. I also want to add stuff like account creation name and maybe last three usernames to the image.

That’s it for this devlog and maybe I’ll see you in the next one :)

0
0
3
Open comments for this post

1h 13m 21s logged

Better Bedrock Support & SRV ports

I changed a lot of the code now to use a java server’s SRV port if it’s defined, so now the server icon’s display right if you don’t define a port. I also made servers without an icon (due to an error or it being a bedrock server) display the default server icon (pack.png in BW).

I also started making a new command, /craftie-player which will look up player info like their UUID and skin.

0
0
2
Open comments for this post

52m 33s logged

Statuses look good now!

I updated the status command to use a slack block kit instead of plain text so now it looks much cleaner. This also allows me to implement more features later like maybe a reload button.

I also fixed a bug causing the bot to freak out if the server being queried was offline because soms data wouldn’t be available then and I was requesting it at the wrong time. Now it just displays “Unavailable” for those stats.:stardance_star:

0
0
2
Open comments for this post

44m 16s logged

I finally made the first few commands for the bot!

Two commands were from the tutorial (ping and help) and one “from scratch” (of course with help from the tutorial).

  • /craftie-help - tells you all the commands
  • /craftie-ping - tells you the ping between the bot and slack
  • /craftie-status - tells you the status for a server.

It is now just saying “Server Online” if the response.online == true and “Server Offline” if false. Next I want to implement custom parameters so you can select what server you want to check the status for. Then I also want to make the status message look nicer.

0
0
3

Followers

Loading…