Skip to content

Migrating to v2

Tim edited this page Oct 26, 2024 · 9 revisions

Scratchattach v2 is not backwards compatible. But upgrading is worth it, because it comes with many new features.

This page lists the main non-backwards-compatible changes to make it easier for you to upgrade. If you're running into unexpected errors, check the documentation to find out how the specific feature works in scratchattach v2.

  1. Generally, scratchattach is now imported as / referenced as sa (no longer as scratch3) in the docs.
  2. session = scratch3.Session("session_id") was changed to session = sa.login_by_id("session_id")
  3. events = scratch3.CloudEvents("project_id") was changed to events = sa.get_cloud("project_id").events()
  4. client = scratch3.CloudRequests(conn) was changed to client = session.connect_cloud("project_id").requests()
  5. value = scratch3.get_var("project_id", "variable") was changed to
cloud = sa.get_cloud("project_id") # This function is ran once
value = cloud.get_var("variable") # This function can safely be called in a loop without spamming an API

The same applies to getting TurboWarp cloud variables.

  1. All comments are now represented by sa.Comment objects
  2. All activites and messages are now represented by sa.Activity objects
  3. Projects and studios are now always represented by sa.Project and sa.Studio objects, never as dicts
  4. project.get_comment was changed to project.comment_by_id
  5. Generally, many functions that used to start with ".get_" had the "get_" removed from their names.
  6. If an attribute refers to a username, it is now always ".username" and not ".user"
  7. CloudConnection and TwCloudConnection don't exist anymore. Instead, there are now Cloud and TwCloud objects that not only handle setting cloud variables, but also have built in functions for getting variables very frequently without spamming the API (new CloudRecorder infrastracture).
  8. TwCloudEvents and WsCloudEvents were merged into CloudEvents. The formerly called CloudEvents are now CloudLogEvents
  9. TwCloudRequests and CloudRequestswere merged intoCloudRequests`
  10. All events are now always ran in threads by default. You can disable this using @events.event(thread=False)
Clone this wiki locally