Skip to content

🐶 An easier way to launch sessions and track invasions for Toontown Rewritten.

License

Notifications You must be signed in to change notification settings

jakebrehm/tooner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tooner Logo

An easier way to launch sessions and track invasions for Toontown Rewritten.


Last Commit Commit Activity MIT License
Made with Python 3.7


What does it do?

Currently, tooner allows you to communicate with Toontown Rewritten's login API in order to log in and start a session with very few lines of code.

launcher = tooner.ToontownLauncher(directory="...")
launcher.play(username="username", password="password")

If you're crazy, you can even combine these lines into one!

All you have to do is supply the directory of your Toontown Rewritten installation (where the TTREngine is stored) and your login information. On Windows, check your program files directories. On MacOS, this is in your Application Support directory. Eventually, I'd like to make this library automatically find the installation.

The best part is that you can do this to play multiple toons at once.

You are also able to get the latest invasion information.

tracker = tooner.InvasionTracker()
invasions = tracker.invasions

Unfortunately, latest does not mean freshest in this case, as fresh information is pushed to the Toontown Rewritten Invasion API noticeably infrequently.

Why does this exist?

Since I normally play on MacOS, there is no way for me to open multiple sessions of the Toontown Rewritten launcher without doing it from the terminal; this was really annoying to do every time I wanted to multitoon (which is a lot), so I set out to make this easier.

Ultimately, I was successful in making this functionality work the three major operating systems: Windows, MacOS, and, I assume, on Linux (I haven't been able to test this).

How do I get it?

It's easiest to simply install the package via pip using the following command:

pip install tooner

Otherwise, you can close this repository using the command

git clone https://github.com/jakebrehm/tooner.git

and then you can do whatever you want with it!

Future improvements

My two main concerns and top priorities for this package are the following:

  • Automatically finding the directory, or at least try. I imagine users should still be able to supply their own directory if they know the program is installed in a non-default location. This would further (and possibly significantly) simplify the usage of the package, and would allow for a one-line launcher.
  • Adding support for ToonGuard. The only problem is writing it in such a way that makes sense while keeping in mind tooner's two-line launcher paradigm, as it would require the user to enter a code after having run the script.
  • Make invasion functions. Instead of having to make a class and keep track of it, some basic functions to encapsulate the class would be useful and easy to implement.

Projects using tooner

The following projects are using tooner:

  1. MultiTooner by Jake Brehm

Authors