Skip to main content

A Python client to interact with powdertoy.co.uk API

Project description

BCH compliance Codacy Code Health

This package interacts with The Powder Toy’s API.

Usage:

import tptapi

client = tptapi.Client()

Login

Most actions need a session token you can obtain from Login: client.login(user, password) returns a boolean.

Check Login

To verify that your session is still valid you can run checkLogin: client.check_login() which will return a boolean.

Vote [LOGIN NEEDED]

To cast a vote, you need to do client.vote(id, type) where type is a negative or positive number that defines if it’s a upvote or downvote. Returns a boolean.

Comment [LOGIN NEEDED]

To add a comment, you need to do client.comment(id, text). Returns a boolean.

Add Tag [LOGIN NEEDED]

To add a tag, you need to do client.add_tag(id, name). Returns a boolean.

Delete Tag [LOGIN NEEDED]

To remove a tag, you need to do client.delete_tag(id, name). Returns a boolean.

Delete Save [LOGIN NEEDED]

To remove a save, you need to do client.delete_save(id). Returns a boolean.

Unpublish Save [LOGIN NEEDED]

To unpublish a save, you need to do client.unpublish_tag(id). Returns a boolean.

Publish Save [LOGIN NEEDED]

To publish a save, you need to do client.publish_save(id). Returns a boolean.

Update Profile [LOGIN NEEDED]

To update your profile, you need to do client.set_profile(data). Returns a boolean.

Browse [LOGIN ENHACES OUTPUT]

To browse, you need to do client.browse(query, count, offset). Returns results.

List Tags

To list tags, you need to do client.list_tags(start, count). Returns array of tags.

Favourite a Save [LOGIN NEEDED]

To add a save to favutrites, you need to do client.add_fav(id). Returns a boolean.

UnFavourite a Save [LOGIN NEEDED]

To remove a save from favutrites, you need to do client.remove_fav(id). Returns a boolean.

Save [LOGIN NEEDED]

Saves a CPS file. Data has to be OPS1-encoded save.

data = open("save.cps", "br").read()
client.save(name, description, data)

Returns the save id.

Update Save [LOGIN NEEDED]

Updates a save with new description and content. Data has to be OPS1-encoded save.

data = open("save.cps", "br").read()
client.updateSave(id, description, data)

Returns a boolean.

Startup Data [LOGIN ENHACES OUTPUT]

Returns Startup.json data. client.startup()

Save’s Comments

Returns a save’s comments. client.comments(id, count, offset)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tptapi-1.1.0.tar.gz (6.6 kB view hashes)

Uploaded Source

Built Distribution

tptapi-1.1.0-py2.py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page