Cat Bot

Overview

When a cat is caught, the bot randomly picks a new time according to the channel's timing settings (default: 60-600 seconds). The bot then saves this target time to the database and creates a task which waits until that time hits to spawn another cat.
When the time comes, the bot randomly picks a cat type (based on the spawn chances) and sends it to the channel. If it fails due to missing permissions or deleted channel it will unsetup the channel to prevent further errors.

It will choose the default if there is no custom spawn message.

Spawn and Caught Messages

The default spawn message looks like this:
{emoji} {type} cat has appeared! Type "cat" to catch it!

The default catch message looks like this for most cats:
{username} cought {emoji} {type} cat!!!!1!
You now have {number} cats of dat type!!!
this fella was cought in {time}!!!!

Special messages are only applied if there is no custom caught message set:

Icon Cat Type Special Caught Messages
suscat Sus {username} cought suscat Sus cat!!!!1!
You have vented infront of {count} cats of dat type!!!
this sussy baka was cought in {time}!!!!
rickrollcat Rickroll {username} cought rickrollcat Rickroll cat!!!!1!
You will never give up {count} cats of dat type!!!
You wouldn't let them down even after {time}!!!!
reversecat Reverse !!!! in cought was fella this
!!!type dat of cats {count} have now You
!1!!!!cat Reverse reversecat cought
8bitcat 8bit {username} c0ught 8bitcat 8bit cat!!!!1!
Y0u n0w h0ve {count} cats 0f dat type!!!
th1s fe11a was c0ught 1n {time}!!!!
corruptcat Corrupt {username} cooughtCorrupt ccorruptcatat!!!!404!
You now BEEP {count} cats of dCORRUPTED!!
this fella wa- {time}!!!!
professorcat Professor {username} caught professorcat Professor cat!
Thou now hast {count} cats of that type!
This fellow was caught 'i {time}!
egirlcat eGirl {username} cowought egirlcat eGirl cat~~ ^^
You-u now blushes hawe {count} cats of dat tywe~!!!
this fella was <3 cought in {time}!!!!

Late Catches

When the first 3 people catch cats too late (up to 5 seconds after initial catch but can be interrupted by next spawn), they will still get the cat, although without any boosts (prisms, catnip, and blessings), but the progress of bounties, quests, or the tutorial will still happen.

The message looks like this:
:pointlaugh: Late {type} catchers:
{emoji} {username} ({extra time}, {number} total)
(upper repeated up to 3 times)
-# up to 3 late catchers within 1s get +1 cat without boosts

Bonus Cats

See Cat Types.

Rains

Starting a rain pauses the normal spawn cycle and forcibly spawns cats randomly every 1-2 seconds.

There is a set amount of cats spawned in each rain, calculated as:

\text{rain duration in minutes}\cdot22.

Restarts

When Cat Bot finishes starting up, it goes through every channel in which the target time is in and spawns a cat in them. This covers spawns which should have occurred during the restart.
Additionally, every minute, a loop is run to check for any channels which are past due, either due to their tasks getting killed by the restart or something going wrong somewhere in the process.
Cat Bot keeps track of active channels to ensure that no duplicate spawns occur, maintaining a smooth and balanced spawning cycle across servers.
It also logs spawn and catch events to improve performance tracking and help identify any bugs or timing issues.

This loop also handles updating status, posting stats to Top.gg, sending vote, quest, and timed reminders, as well as database backups.

/setup, as well as setting up the bot, spawns the first cat to bootstrap the above infinite loop.

/forget makes the bot forget about any spawned cats as well as marks the channel as unsetup to prevent any ongoing spawns.

/forcespawn forces a cat to spawn, overriding any ongoing spawn tasks.

Due to how spawning works, /changetimings will only take effect after the next catch.

Spawn and catch messages can be modified with the /changemessage command.

Spawning Troubleshooting

  1. Make sure you ran the /setup command in the channel where you want cats to appear.
  2. Do /forget and then /setup again in the channel where you want cats to spawn.
  3. Try using /forcespawn to force the cat to spawn.
  4. Try saying "cat". There might just be a cat in the channel, even if there is no appear message.
  5. If everything fails, join our support server and open a ticket, the moderation team will help you.

Trivia

\lfloor\text{rain time}+600\cdot1.3\rfloor

from

\lfloor\text{rain time}+600\cdot1.2\rfloor 

since August 24th 2025.