Catsack - A Discord bot for everything Tower Unite!

aa
(logo not final, this took me a few minutes to throw together so I had something.)

Hey, today I’m releasing a Discord bot that I’ve been working on as a personal project for a few months now. I never really expected it to grow to do as much as it does, but I had a lot of fun making it. I hope that everyone can find it at least somewhat useful.
I’m a little nervous about releasing it since I’ve only really tested it on my own up until now. But, here we go.

So what does it do?

This bot aims to be a “Discord bot for everything Tower Unite”
It’s not the most feature packed bot out there, but it does exactly what it’s supposed to do very well.
The “main” feature of the bot is Webhooks. You can use Discord’s webhook system to have the bot post (almost) instant updates relating to Tower Unite straight to a channel of your choosing.

At the time of writing this post, the bot supports the following update sources: (expand below for images)

- Twitter

Image

This message has since been updated to use the actual twitter logo as an emoji instead of the red bird. Don’t hate me.
twitter

- Twitch

Image

If they were to ever have another dev stream. (i enjoy watching them, please do them more often!)
twitch

- Development ‘Sneak Peaks’

Image

These images/videos are taken straight from the forum thread.
dev sneak peak

- Forum Announcements

Image

forum

- Trello

Image

trello

That’s amazing! How can I use it?

I’m glad you’re interested! Please keep in mind that i’ve only tested this in my own server and I’m not yet sure how it’ll perform once there are more people using it - i’ll be monitoring the performance to make sure it’s stable. (if something breaks, don’t worry!)

To add the bot to your server, click here and follow the process to inviting the bot to your server.
Note: the bot needs those permissions to function correctly, avoid removing them unless you’re seriously concerned about giving the bot that many permissions.

Once the bot is in your server, create a channel that you’d like the updates to be posted in.
Note: This is not neccessary, but it’s advised to have a separate channel to avoid having the bot’s messages lost in other people talking.

Then finally, enter the following command: cs!createwebhook
And… that’s it! You’re done. From now on, assuming the bot didn’t spit out an error, updates will be posted to this channel.

Want further customisation? Run the cs!updates command to manage what type of updates will be sent to your channel.

Extra features

The bot has the ability to search through all items in Tower Unite. By running the command as shown below, you can receive information on every single item in the game through our own database.
search

In addition to this, you can also list off all milestone items for every activity using the command shown below.
milestones
There’s a few other commands available, but the post would be too long if I discussed them all here. Run the cs!help command for a list of commands, and cs!help (command) for help relating to a specific command.

Thank you.

I plan on continuing to work on this personal project of mine, I want to create something that can be useful and I’m always willing to take suggestions/feedback from others. I really want to provide further functionality and I’m always looking for ideas. If you do try this bot in your own server, let me know what you think.
Thanks.

34 Likes

I never Knew i needed this so much

this is amazing

2 Likes

Thank you! :blush:

very cool

1 Like

Whoa, this is really nice! Love seeing these kinds of things.

2 Likes

Pushing an update to the bot right now that fixes some bugs and has some general improvements.

-> Removed the Twitter emoji from Twitter notifications (Does not work in webhooks :(, missed in testing)
-> Fixed a few commands that had aliases having duplicate entries in the command list.
-> Researched rate limits for various APIs, increased the amount of requests the bot makes to improve responsiveness (they were previously very slow - they are now more frequent but aren’t overdone, of course).
-> Fixed “View Latest Dev Log” not working (spelt appID wrong and didn’t notice, oops… Planning on eventually moving off the Steam API for finding these.)
-> Updated Twitch API (bot was using the old one for some reason - will eventually move to using Twitch webhooks instead of periodically requesting.)
-> Disabled the news command while I come up with a good way of formatting it. (It previously flood the chat and wasn’t very easy to read.)
-> Optimized bot start-up time.
-> Optimized command loading.

The bot has already been added to quite a few more servers, thank you to everyone who is using it! :heart:
EDIT: also currently working on an update that should be out tomorrow/the day after with performance improvements (future-proofing, not really an issue right now) and the re-addition of the news command.

6 Likes

The update is here, view the latest Tower Unite changelog straight from Discord! (currently only supports major updates, not hotfixes)


(the delay seen is due to me hosting the bot off of my own computer for the video, the latency is much more bearable when it’s on it’s normal host)

-> “View Latest Dev Log” link in the ‘tower’ command now uses a link to the PixelTail Forums instead of Steam.
-> The “news” command is back! Now featuring pages to keep things neat. (This really was a lot of work, dealing with reactions gave me a headache)

As another reminder, I’m still taking requests for features you might find useful - If you have any ideas then please message me! Thank you. :heart:

6 Likes

im using this on a private server and now im the quickest person to get to TU related stuff
seems pretty good

1 Like

We’re on a roll with updates!

The latest update (being pushed to the bot at the time of posting this) brings two new commands.


As always, you can expect to see better performance on the bot when you use it. I was using my own computer/internet for the video and it isn’t very good

-> Added “trello” command. Now you can search the Trello cards through Discord!
-> Added “exp” command. View players’ EXP through Discord!
Note: this command is a proof of concept. It will be improved upon later. (It also uses Steam to get these stats, and will not always be 100% accurate.)

Another reminder that if you want the bot in your own server, the invite link can be found here and the instructions for setup are available in the first post. I’m still taking feature requests (the trello command was added by request), so let me know if you have any!

Thanks. :heart:

7 Likes

This is very awesome! Thanks for making this and updating it.

1 Like

gotta say i may personally not use the bot, however it is pretty slick and good
what language is it in? and what libraries are used (if any)?

1 Like

I’ve had a lot of experience running large bots, so I went with what I knew.
It’s written in node.js, using Eris for the Discord API. (i absolutely despise discord.js)
The rest of it is all made by myself, I’ve made systems for polling various APIs, posting to each guild’s webhook, etc.

EDIT: I was also considering making the bot open source once I clean up the code a bit more, and when I feel more comfortable.