0.1.4 • Published 2 years ago

tinyburg v0.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Tinyburg

TinyburgLogo

build Nimblebit version support Maintainability Test Coverage

Tinyburg is a javascript library/api built for the mobile game TinyTower by Nimblebit. The initial desire for creating this library came from wanting to build an application that automatically entered me into the raffle every hour. This library enables you to do anything you can do on the mobile game and more from anywhere with an internet connection. While I am aware that you could probably achieve some of the same results by running TinyTower on your computer with blue stacks and write a simple script to make your mouse enter the raffle every hour, that really wasn't as exciting/what I really wanted to do here and there are some things that you simply can not do with just blue stacks and a mouse script.

As users or developers using this library, you can not do everything as I'm aware that would promote cheating. Tinyburg provides an authentication proxy to authenticate requests to Nimblebit's servers. It will only authenticate certain ones such as: am I in the raffle? it will not authenticate request for things like: enter me into the raffle! because that would enable cheating. It is the same in terms of player save data, you will be able to download your player save data and parse it but it will not let you upload it. Access to blocked scopes can be granted through API keys and you can receive an API key from me if you give me a really good reason as to why you want one. To learn more about tinyburg's authentication proxy, please read the docs Using the auth proxy

Features

  • Downloading, decompressing, parsing, modifying, compressing, and uploading save game data
  • Typed save data (save data is parsed into json with types so that you can easily tell what you are doing)
  • Getting visits + visiting friends
  • Sending gifts (bitizens) + receiving gifts (bitizens, raffle tickets, gold)
  • Check entered raffle, enter raffle, enter multi-raffle, and get raffle details
  • Pulling friend meta data (including their tower)
  • Creating new accounts
  • Registering cloud sync email
  • Verifying cloud sync email
  • Configurable logging (pino, debug, or being your own logger)

On the list of things to add (coming soon, hopefully)

  • Adding friends
  • Pulling and pushing snapshots (rebuilds)

Less talk, where's a working demo?

Run on repl.it Try it online on RunKit

A working demo can be found on REPL: https://replit.com/@LeoConforti1/tinyburg-demo?v=1, it features the CLI app from the most recent version of Tinyburg. Feel free to mess around on REPL and if you end up breaking something just refresh the page. Additionally, if you prefer a more condensed view, you can use the lite REPL option

There is also RunKit example at https://npm.runkit.com/tinyburg although it is not sophisticated as the REPL demo. The RunKit example is more just for people to be able to mess around with the code and get a feel for the library, while the REPL is an actual demo.

Announcement: v1 of the tinyburg site is in the works. The https://tinyburg.app site is hopefully going to be a place where players can go to trade in game items with each other - anything from singular bitizens to entire floors or costumes or lobbies and so much more! You could really trade anything from the entire game, as long as there is someone willing to trade with you.

Using tinyburg

npm version npm downloads npm bundle size

npm

use: npm install --save tinyburg

yarn

use: yarn add tinyburg

Have Questions or Need Help? Check out the docs!

lots of docs

Most of the information is documented there, so please try to read them first. If you still can't find what you are looking for, feel free to open an issue

and there are some examples as well to get your started

Fun projects you could actually make

  • A 'better' discord RaffleBot

    Ok maybe better is being a little to harsh here. I love the current discord raffle bot, but it is a little simple and you could enhance it with some new features. Why not have the bot be able to query if you are currently entered in the raffle or not.

  • A player stats leader board

    Collect player stats and display who has the most of a particular thing, or something similar.

  • A bitbook post tweeter

    Collect bitbook posts from your save data or other players save data and create a Twitter feed using them

Interested in Contributing?

There is a Contributing Guide to help with you with pull requests, issues, commit messages, and style guides. And there is a Dev Guide to help you with setting up your dev environment and containers

If you are interested in seeing how far this project will go but don't necessarily have the time or resources to contribute to open source, please consider sponsoring this project through the github sponsors program or by signing up to DigitalOcean using the link below (yes its a link). You will get a $100 credit to spend in 60 days on DigitalOcean and once you've spent $25 (after the initial $100 credit, I know it's a lot), I'll get $25 in return

DigitalOcean Referral Badge

Gif demo

Shows off tinyburg's really cool type definitions! Type definitions are provided for everything (as is standard for most typescript project), but what is really unique are the types for parsed json save data so you can really explore your save data!

See the Type Definitions example for more about strict type checking for save data. Note: if you are working in vscode, you may need to enable the setting called js/ts.implicitProjectConfig.checkJs

Gif Demo

0.1.0

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago