This is the source code of my macOS app BitTherapy!.
As you can guess, it brings Desktop Pets to macOS 🚀
Like the app? Join our Discord!
The app is currently available for macOS and iOS (with slightly different features).
I'm working on a Python port using Qt, which will be targeting Windows and Linux systems.
It's just a cute little pet or animal that lives in your computer.
The most popular one was probably the eSheep for Windows 95.
Hope you like them too!
For daily use I recommend getting the App from the App Store.
Alternatively, you can download the latest release from GitHub or build from source (see below).
Starting from version 2.20 you can now create custom pets, please check the documentation.
You do not need any programming knowledge or Xcode to create your own pets, just design your characters and follow the instructions, good luck!
Contributors get a shout out in the app, just saying... 😏
If you wish to improve support for your language, join our Discord and let us know!
Since version 2.48 you can use DistributedNotificationCenter
to send basic commands to your pets.
Here's the payload:
{
# Species id
"subject": "sloth",
# Animation id
"action": "eat",
# Optional, both x and y required
"x": 100,
"y": 100
}
Sample Python script to send out notifications:
from Foundation import NSDistributedNotificationCenter, NSDictionary
def send_notification():
notification_name = "it.curzel.pets.Api"
message = {...}
user_info = NSDictionary.dictionaryWithDictionary_(message)
center = NSDistributedNotificationCenter.defaultCenter()
center.postNotificationName_object_userInfo_deliverImmediately_(
notification_name, None, user_info, True
)
if __name__ == "__main__":
send_notification()
- Download and setup Xcode
- Open the
Sources/macOS/BitTherapy.xcworkspace
- Give Xcode some time to figure out dependencies...
- The project includes a file called
GoogleService-Info.plist
which is not being versioned, remove it and the app will start without Firebase being enabled - Run
The pets now have an official YouTube Channel!
It's still cringe, but it will get better