The Message Bot


Okay. I think this is stable enough that I can officially announce a beta. There is still a lot of work to be done, but I know some people (@I-Love-Creation) have been waiting for this for a while so I’d like to let people know where I’m at.

The Message Bot 7.0 Beta is here! It isn’t done yet, but it is mostly stable and can be used.

Change list

  1. Terminal / Command Prompt support! With 7.0 Mac servers are officially supported through a command line interface (more details below). Note: You can still load the bot with a bookmarklet.

  2. Better extension page, the old page was incredibly hard to read. Extensions are now displayed in a table format to make it easier to quickly scan names.

  3. Better backup / restore options. Downloading / uploading the backup is much faster than copying / pasting it, especially when the code gets exceedingly long (cough Jemni cough).

  4. Extension repositories. In 6.0, all extensions had to be listed on the Message Bot Blockheads Fans page to show up in the extensions tab. You can now add custom repositories to load extensions from other sources. The default extension list is hosted on GitHub, but so long as the page follows the required format (described in the README) extensions can be loaded from anywhere.


    • Extension repositories outside of the above GitHub repo are out of my control. If you use them, you use them at your own risk.
    • Currently available extension repos:
      Maintainer Description Repo link
      Bibliophile The default repo (default)
      Bibliophile For developer extensions
      Bibliophile For beta extensions

Todo list

  • Lots of extensions
  • Rework how messages are displayed for joins / leaves / triggers to make it easier to configure the bot
  • Support installing extensions on the console bot more easily

Developer release notes



  1. Added a developer mode checkbox under settings, this setting makes the bot automatically load any registered extensions and automatically unload / reload the extension if it is registered again to ease development.

  2. Updated the Marco Polo tutorial for the latest API

  3. The bot is now written in Typescript. This change was made since using a static type system can prevent ~15% of bugs. Extensions can be written using either JavaScript or Typescript.

  4. The bot UI code now uses the latest Bulma release (0.6.1)

  5. The bot now uses the blockheads-api npm package to support both Mac and cloud servers with (essentially) the same code.

Terminal bot & Mac servers

Setup is similar on Mac / Windows, first, install dependencies

Mac Dependencies Setup

  1. Open a Terminal window
  2. Install Homebrew
  3. Run brew install node
  4. Run brew install yarn
  5. Close the terminal
  6. Go to Bot Setup

Windows Dependencies Setup

  1. Install Node
  2. Install Yarn
  3. Go to Bot Setup

Bot Setup

  1. Open a terminal / command prompt
  2. Choose a directory to install the bot into and go to that directory using cd <dir>
  3. Clone the latest bot code: git clone bot
  4. Go into the bot’s directory cd bot
  5. Install dependencies yarn
  6. Build the bot yarn build
  7. Copy config.default.json in the config directory to config.json in the config directory.
  8. If you are setting up a cloud bot, edit the config.json file to include your portal username / password
  9. Run yarn worlds or yarn worlds:mac to list your worlds and copy the name and ID of the world you want to run the bot on into config.json.
  10. Run yarn cloud or yarn mac to start the world on your cloud or mac server, respectively.
  11. Open http://localhost:8008/ to configure your bot. Extensions are not yet completely supported.

Bookmarklet bot

The bookmarklet will only work on new browsers. Internet Explorer and iOS 10 and under are not supported. (This may change on release – be sure to reply if the steps below don’t work for you!). Browser support is currently limited as it greatly decreases the size of the bot.

Setup: Follow the instructions in the OP, but use this for the link

javascript:(function(){if (!window['@bhmb/bot']){document.head.appendChild(document.createElement('script')).src='';}}())


Your current configuration is not used by the beta bot. It will be moved over once the bot is released.


I have (mostly) set up a Discord server for announcements about beta progress to avoid cluttering this thread too much, if you are having issues when I’m online, I will also be able to help you more quickly there.


Thank you so much! :heart_eyes:

Really! Thank you for your time and effort! :blush:

—I’ll tell all our “Basilians” the great news! :nerd_face:


Suggestion: Discord bot integration. A Discord bot is made to relay any information from the Message bot to the discord server. The discord bot could have a random number generator, and assign an ID to a discord server upon joining. When the message bot is added to a cloud world or mac server, the world is also assigned the same, corresponding ID. This would be useful in situations like pinging admins when a player needs it, or to give something like a special reward in an event, etc.


I did this, and Milla told me to pull it from the store.


Got it. May I ask why? If it’s a security concern, I don’t see it…? :thinking: (but that’s probably just me)


Majic Jungle doesn’t want blockheads players’ private chats (even on public servers) to leave the game.

Milla can’t stop anyone from doing that on Mac, but frowns on it.


An extension that shows when a user last joined your server

Ex. {{Player}} last joined this server on Wednesday, August 27 at 21:00 gmt


Last seen can do this, but cross server. I’ll see if I can do that.


I’ve added the /when command to Last Seen. Just do /when <name> and it’ll tell you when <name> was last seen on the server that you’re in.


If you are utilizing the Bank extension with an /adddaily join trigger, then /lastdaily can do this as well.


How about it telling you when they were last seen on any server too? That could make it easier to know if they are busy or if you should go on a certain server if you need to talk to them because they’re online right now.


Porky and Frater present: /Where 1 and 2
They’re borderline the same as where, but still require Wingy to spend a bunch of time on it!



If I wanted to run the bot all day, and turn it off when I sleep, what’s the most energy efficient mode to put the computer in? How would I get to it? I have a MacBook. Also what is the best way to keep the screen from burning?


Assuming you aren’t using it:

  • Brightness all the way down
  • Quit all applications that you aren’t using
  • Turn off Bluetooth
  • turn off any external speakers

I don’t use a Mac often so I’m not sure where Bluetooth settings are, brightness should be a key on your keyboard, use Command+Q to quit apps (not just hide)

First, check if your screen is an LCD or an LED screen - if it is LED there will be no screen burn. If LCD, I’d just turn on the screen saver (can’t recall where that is atm)


I haven’t checked if it’s an LED or LCD yet, but when I turn my screen saver on it doesn’t run.


You can use a separate monitor that you don’t care about. And keep the brightness low on your mac.


Attention! Bibliofile is the first to get 1k clicks on a link, therefore getting a badge!

Imagine this being a real blockhead feature…no more need to keep your computer open and you’ll be able to play…


I’m quite sure now that all screens can get burned.
Emphasize ‘quite.

(I’ve always wanted to know this!)


Is there a way to do the bot on an Android Pixel? I want to have my phone open to the bot (so it can work) and play on my server without it stopping after a while on my iPad. I can at least hope…


I don’t know how to write stuff in the bookmark things so I can’t put the link in


Add the bookmark, then edit the link after you add it.