I’d like to introduce my version of a Boundless bot -
Boundless Bot Details :
- Production mode : BETA TESTING
- Release version : 0.0.9
- Language : Node.JS v16.9
- API Framework : Discord.js v13.6
- Platform : Currently Debian but will be moved to a nodeJS Docker container running on a Debian VM I have.
Initial Notes :
So I’ve always wanted to do a Discord bot but because we already had Protector Venari and a few other tools I decided to not put any time towards it. Since we are in a situation where we need one now, I went ahead and built one in the latest version of NodeJS and using the DiscordJS API framework. While it mirrors some of the features of previous bots, I am approaching a few things differently and want a more robust feature set.
Do be kind since this is my first pass at putting it all together and we might have an issue or two over the next few weeks while we are in a beta test phase. I’ll be monitoring the bot and if it goes down I will try to get it up as fast as possible after the issue is fixed.
I decided to not limit who can test the bot and instead make it available to everyone. If you test the bot I cannot guarantee that you might not have to register your server again when we finalize the code. I admit I am a bit nervous it will crash or stop working in the middle of the night since I haven’t had much time to test. This was all done in about 4 days. Please be patient…
- If you wish to install the bot go to this link [ https://discord.com/api/oauth2/authorize?client_id=961118308395008030&permissions=2147568640&scope=bot%20applications.commands ] to have the bot join your channel.
- Either use the server role the bot created or create/add the bot to a role that you plan to use for channel permissions. Ensure permissions are correct. At this point it only uses permissions for: send message, read message history, embed links, and the view channel for all channels you want the bot to work in.
- Create a channel (called whatever you want) that you want to be the “main bot channel” the bot uses. Then make sure the bot has the ability to access that channel and has the permissions mentioned above via the role.
NOTE : double check all permissions and make sure the “everyone” role (or another the bot is assigned to) isn’t conflicting with the bot’s server role to send_message.
- To receive player posted notifications from the bot you need to register your server. To do this, either the owner or permission based administrator of the server, needs to go into the main bot channel they want the notifications to show in and type the following command: .registerserver
- The registration command grabs your Server ID and that Channel ID and stores it so the bot can message you.
- Once the bot acknowledges you are registered everything is set up and you will receive message pings.
- Try a test command in the channel to ensure that you have permission and everything is working : .ping
Post Hunt Notification
- Please read notes:
- Currently this is a global command that will notify every server that is registered. So please respect this feature and don’t spam people.
- The bot sends an embeded message for hunt posts which is different that pervious bots. This means you will need to work a bit on formatting your hunt message if you want it to look a certain way. Also note there might be some issues with formatting because of what an embeded message allows and does not.
- I have decided to have the notification commands to be done via private message to the bot. The main reason is to cut down on posts to the main bot channel by people. Plus this helps allow for the ability to test the message without bothering people.
- First test your hunt message so you can make sure it looks nice. From a private message to the bot type the following command where you replace “text” with whatever message you want: .testhunt “text of my message”
- The bot will private message you back with what the hunt message will look like.
- Once you have a message you like then use the following command to send an official notification to all servers registered to see it using: .posthunt “text of my message”
- The bot will send a post to whatever channels are registered to see it.
- If you want “role notifications” pings you need to set up the role (use the .getroles and .setrole commands).
Supported Commands :
Command Prefix : .
[note: the bot uses a as the command prefix and not a “!” so there is no conflicts with other hunt bot]
Command List :
.help = List of supported commands type.
.uptime = How long the bot has been online in days/hours/minutes/seconds.
.info = Gives some server info and details regarding the bot.
.ping = Replies with “Pong!” to show if bot is acceping commands.
.beep = easter egg.
.registerserver = registers your server to receive alerts.
.removeserver = not implemented yet, but will allow you to remove your server from receiving alerts.
.getroles = gets current server permission roles
.setroles = used to set or update the role id on the server of which role to notify during a .posthunt message.
.testhunt = test privately your hunt notification messages.
.posthunt = please be careful since this command will post your message to all the registered servers main bot channels and roles.
.updatechannel = not implemented yet, but will be used to update the “main bot channel” on where you want notifications to go to.
.addpingrole = not implemented yet, but will be used to allow people to add (and remove) themselves to the server role that gets the “ping role” alert.
If you have some ideas on commands or features let me know.
- At this point if the bot has problems just post here on the forum or give me a ping in Discord. As mentioned it might be a bit bumpy for a few weeks.
Upcoming Improvements over next few months
- I’d like to add it at some point the official Boundless server bot channels but am not sure who has access to discord with the right permissions. Let me know if you know who can…
- I plan to provide the option where only a certain role can post global messages in your server.
- I plan to try to make there to be less need to have certain commands run from either a “private message” or the “main bot channel.” Right now it was due to how I implemented some things and I just need to figure out how to get the data I need in another way. Note that I will still be trying to make sure that the main bot channel isn’t filled with command spam.
- I plan to have a feature where you can update the main bot channel.
- I plan to have a feature that allows you to be added/remove to the “ping role” alert.
- I plan to have a feature where you can de-register your server if you no longer want it. I also want to have an auto-monitoring feature that will see if the bot is removed from the server and clean up the old entry.
- I need to make sure the file that stores all our player server and channel information is safe and backed up so if there is ever a big crash we won’t have to have everyone register their details again. Yes it uses a JSON file right now and I might consider moving to a small database solution but preferred to now have the overhead right now of that additional service.
- I plan to add more details on the “info” command.
- I will be redoing the bot to use “slash” commands.
- I want to improve the bot with more features based on feedback.
Well I think that is everything. I will be updating the message as we progress through beta testing. I hope you all find the bot useful. Let me know your thoughts or feedback…