rblx-open-cloud is a Python API wrapper for Roblox Open Cloud.
Documentation: https://rblx-open-cloud.readthedocs.io/en/latest/
# Stable (PyPi, recommended)
pip install rblx-open-cloud~=2.0
# Development (GitHub)
pip install "rblx-open-cloud @ git+https://github.com/treeben77/rblx-open-cloud@v2"
You've got the basics down, below are examples for some of the APIs.
import rblxopencloud
# create an Experience object with your experience ID and your api key
# TODO: replace '13058' with your experience ID
experience = rblxopencloud.Experience(13058, api_key="api-key-from-step-2")
# get the data store, using the data store name and scope (defaults to global)
datastore = experience.get_data_store("data-store-name", scope="global")
# sets the key 'key-name' to 68 and provides users and metadata
# DataStore.set does not return the value or an EntryInfo object, instead it returns a EntryVersion object.
datastore.set("key-name", 68, users=[287113233], metadata={"key": "value"})
# get the value with the key 'number'
# info is a EntryInfo object which contains data like the version code, metadata, userids and timestamps.
value, info = datastore.get("key-name")
print(value, info)
# increments the key 'key-name' by 1 and ensures to keep the old users and metadata
# DataStore.increment retuens a value and info pair, just like DataStore.get and unlike DataStore.set
value, info = datastore.increment("key-name", 1, users=info.users, metadata=info.metadata)
print(value, info)
# deletes the key
datastore.remove("key-name")
NOTE: Messages published with Open Cloud only arrive in live game servers and not in Studio.
import rblxopencloud
# create an Experience object with your experience ID and your api key
# TODO: replace '13058' with your experience ID
experience = rblxopencloud.Experience(13058, api_key="api-key-from-step-2")
# publish a message with the topic 'topic-name'
experience.publish_message("topic-name", "Hello World!")
NOTE: Only Decal
, Audio
, and Model
(fbx) are supported right now.
import rblxopencloud
# create an User object with your user ID and your api key
# TODO: replace '13058' with your user ID
user = rblxopencloud.User(13058, api_key="api-key-from-step-2")
# or, create a Group object:
group = rblxopencloud.Group(13058, api_key="api-key-from-step-2")
# this example is for uploading a decal:
with open("path/to/file.png", "rb", encoding="utf-8") as file:
asset = user.upload_asset(file, rblxopencloud.AssetType.Decal, "name", "description").wait()
print(asset.id)
Examples for more APIs are avalible in the examples directory.