1.2.1 • Published 5 years ago
scratch-site-api v1.2.1
scratch-site-api
scratch-site-api is a full library for working with the Scratch website with Node.JS
Classes
- User, a user class containing all methods for user accounts
- CloudSession, a class for interacting with cloud data
Methods
User (all methods unless otherwise stated are async)
login, take a username and password to loginsignOut, sign out and invalidate the current sessiongetSession, get information about a sessionchangeCountry, change account country (Can be any valid country, first letter must be capitalized)changePassword, change account password, takes the old account password and the new passwordchangeEmail, change account email, takes the account password and new emailmessages.getMessages, get account messages, takes an offset and limitmessages.getCount, get account message countprofile.toggleComments, toggle commenting on user profileprofile.setStatus, takes a string to set user's WIWO toprofile.setBio, takes a string to set user's bio toprofile.setProfilePicture, takes a buffer and mime type to set user's profile picture tocomments.commentOnUser, takes a string and username to comment on, also takes a comment id and commentee id for replyingcomments.commentOnProject, takes a string and project id to comment on, also takes a comment id and commentee id for replyingcloud.createSession, takes a project id to create a cloud session on
CloudSession
Methods
get, get a cloud variable, takes a name (with ☁ icon) and returns the valueset, set a cloud variable, takes a name (with ☁ icon) and value
Events
set, fired when a cloud variable is set, returns (with ☁ icon) name and valuehandshake, fired when a handshake with the cloud server is performedpacket, fired when a packet is recieved, returns the parsed packetoutgoing, fired when there is an outgoing packet, returns the outgoing packet
Examples
Login as a user and get session info
const Scratch = require("scratch-site-api")
const user = new Scratch.User()
async function main() {
await user.login("username", "password")
console.log(await user.getSession().json)
}Create a cloud session and log all variables
const Scratch = require("scratch-site-api")
const user = new Scratch.User()
async function main() {
await user.login("username", "password")
const cloud = user.cloud.createSession(12345678)
cloud.on("set", (var, val) => {
console.log(var, val)
})
}Running the tests
Create a credentials.json file in the tests folder with a user and pass field