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.

35 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:

7 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.

It’s been a while since i’ve posted an update, but I thought i’d post something so people know this isn’t dead and I’m still working on it.

I have a few ideas in mind for a future update, but i’ve been pretty busy recently so I haven’t been able to work on them as much as I’ve wanted to. I’ll have the update out as soon as possible.

Also, I just wanted to share this.

PixelTail trying to run poor Catsack out of business :slightly_frowning_face:
(Catsack is the better option, btw. If you use “follow” discord option then you miss out on trello, twitch and twitter updates + the other bot commands and the ability to customise what type of updates get delivered - so just get Catsack :slight_smile:)

Thank you so much to everyone using the bot, it’s gaining more and more servers everyday and I’m so glad that it’s getting used/being helpful.

5 Likes

you’re going to go bankrupt soon :scream:

1 Like

:sweat_smile:

Great work with the bot though, that’s really neat!

3 Likes

Hey all! I’m in the process of pushing the update out right now. I’ve tested it as best I can but there still may be some issues.
Anyway, let’s get into the changes. This update brings:

Role pinging

Have the bot ping a role of your choice when there’s an update. Worried about spam mentions? Don’t be! The bot is limited to only pinging the role once every 30 minutes.

Run cs!updates role (NAME) to setup a role! (The role must already be created before running this command, the bot will not make one for you)

For this feature to work, the role must be mentionable or the bot must have the Manage Roles permission (so the bot can quickly enable mentions, send the message and then disable them again).
This second option is the best as it stops random people from pinging everyone with that role but still allows the bot to send notifications when needed.


Daily Trello round-up improvements

Daily Trello round-up just got a whole lot more informative! Instead of just providing just the progress percentage for each card, it will now only show cards that have actually changed (and will also include how much they changed).
Note that not all cards are included in this list of ‘major updates’. Only cards that are important are included and are currently selected by me. I’ll be sure keep the list updated and relevant until there’s a better solution.

Bug Fixes

Along with this update, a lot of bugs were fixed. Most notably:
The bot will no longer send updates containing “0 new tweets” (oops!)
Webhooks are much more reliable than they were previously - messages will now be sent all the time (unless something is seriously wrong).
… and various improvements to the Twitch system which were causing some issues.

TL;DR

A Short Summary...

v1.0.7 - Feature Update
-> Added the option to ping a role when there’s an update. (Max 1 ping per 30 minutes.)
-> Changed Trello round-up to only include information on ‘upcoming features’ if they had changed. (i.e if an item was checked off on the card, etc)
-> Fixed various bugs.

This was quite a long post, but if you’re reading this - thank you. I know I say this every time but I really appreciate all the feedback I’m getting.
Sorry about this update being quite slow to arrive, I was running low on ideas and had a few issues when I was adding this new stuff. Please let me know if there’s something else you want to see added or changed! I really appreciate it.
:heart:

Oh, and here’s a meme. (forgot to include it, oops!)

9 Likes

Thanks keep up the good work

1 Like

thank you for this amazing bot :heart:

1 Like

is it possible to attach this link (https://docs.google.com/spreadsheets/d/16w6pd6VOuY5ptfdyd4e5a1DHXejgzeBVEPaOL3kIVEg/edit#gid=0) to a command on the bot
like
cs!itemlist or something to give you the link

(unless you already done something like that and im just stupid and missed it)

Yeah sure. I can add a command to list off a lot of useful links, including that one.

I’ve also just noticed a few issues so I’ll have an update out that fixes them when I get back from school tonight.

2 Likes