scratch-attach
v1.0.1
Published
An unoffical library to interact with Scratch APIs and cloud variables.
Downloads
5
Readme
@turtle2285/scratch-attach
A custom library to interact with Scratch APIs and cloud variables.
Overview
This package provides a simple way to authenticate with Scratch, connect to cloud variables, and update their values using WebSockets. It is designed for developers who want to extend Scratch functionality programmatically.
Features
- Authentication: Log in to Scratch using your credentials.
- Cloud Variables: Connect to a Scratch project's cloud variables and update their values.
- WebSocket Connection: Establish a persistent WebSocket connection for real-time updates.
Installation
To install @turtle2285/scratch-attach, run the following command:
bash
npm install @turtle2285/scratch-attachUsage
Here's a basic example of how to use the library:
javascript
import ScratchAttach from '@turtle2285/scratch-attach';
const scratch = new ScratchAttach("your_username", "your_password");
(async () => {
try {
await scratch.login();
scratch.connectCloud("123456789"); // Your project ID
scratch.setCloudVariable("☁score", 100);
} catch (err) {
console.error(err);
}
})();API Documentation
ScratchAttach Class
constructor(username, password)
- Initializes the
ScratchAttachinstance with your Scratch username and password.
async login()
- Authenticates with Scratch servers and retrieves a session token.
connectCloud(projectId)
- Establishes a WebSocket connection to the specified Scratch project's cloud variables.
setCloudVariable(name, value)
- Updates a cloud variable's value. The variable name must start with ☁.
disconnect()
- Closes the WebSocket connection.
Security Considerations
Important Disclaimer
This library is provided as-is without warranty. The author(s) are not responsible for:
- Account bans/suspensions from Scratch
- Misuse of the library
- Modified versions of the code
- Violations of Scratch's Community Guidelines
Always test with backup accounts and follow Scratch's cloud variable rules.
- Credentials: Never hardcode your Scratch credentials in your code. Consider using environment variables instead.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgments
Special thanks to the Scratch community, they have helped me. If this does not work and you know python see the official scratchattach for python
Contact
For questions or feedback, you can reach me at npm profile.
