{"id":24185231,"url":"https://github.com/kejjtoli/scratchgonnect","last_synced_at":"2026-02-11T06:03:23.696Z","repository":{"id":272212756,"uuid":"915835633","full_name":"kejjtoli/ScratchGonnect","owner":"kejjtoli","description":"Scratch API wrapper for Go","archived":false,"fork":false,"pushed_at":"2025-01-20T11:29:55.000Z","size":87,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T16:11:09.518Z","etag":null,"topics":["api","api-wrapper","go","go-package","golang","scratch","scratch3"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kejjtoli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-12T23:16:37.000Z","updated_at":"2025-01-20T11:29:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"b936e3b5-ca70-4c01-b3fb-40305214d78a","html_url":"https://github.com/kejjtoli/ScratchGonnect","commit_stats":null,"previous_names":["kejjtoli/scratchgonnect"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/kejjtoli/ScratchGonnect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kejjtoli%2FScratchGonnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kejjtoli%2FScratchGonnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kejjtoli%2FScratchGonnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kejjtoli%2FScratchGonnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kejjtoli","download_url":"https://codeload.github.com/kejjtoli/ScratchGonnect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kejjtoli%2FScratchGonnect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29327871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T03:52:29.695Z","status":"ssl_error","status_checked_at":"2026-02-11T03:52:23.094Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-wrapper","go","go-package","golang","scratch","scratch3"],"created_at":"2025-01-13T11:19:21.240Z","updated_at":"2026-02-11T06:03:23.682Z","avatar_url":"https://github.com/kejjtoli.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿\u003cimg align=\"center\" src=\"https://github.com/kejjtoli/ScratchGonnect/blob/main/example/logo.png?raw=true\" alt=\"ScratchGonnect\"\u003e\r\n \r\n![Static Badge](https://img.shields.io/badge/License-GPL3.0-blue)\r\n![Commits Since Latest Version](https://img.shields.io/github/commits-since/kejjtoli/ScratchGonnect/latest)\r\n\r\n**Send Scratch API requests with ease.**\r\n\r\nScratchGonnect is a Scratch API wrapper written in Go and allows you to easily and quickly interface with the Scratch API. It allows you to post comments, change project data and much more.\r\n\r\n## Installation\r\n\r\n**Run this command in your terminal in order to use this package**\r\n```\r\ngo get github.com/kejjtoli/ScratchGonnect@latest\r\n```\r\n\r\n## Examples\r\n\r\n**Creating a new session (lets you use features that require logging in)**\r\n```go\r\n// Log into a scratch session\r\nsession := scratchgonnect.NewSession(\"username\", \"pass\")\r\n```\r\nPosting a comment under a project\r\n```go\r\n// Get a project by id\r\nproject := scratchgonnect.GetProject(\"535962801\")\r\n\r\n// Post comment with given content, parent_id, commentee_id\r\nproject.PostComment(*session, \"Comment Content\", \"\", \"\")\r\n```\r\nFollowing a user and getting his followers\r\n```go\r\n// Get a user by username\r\nuser := scratchgonnect.GetUser(\"kajtolmation\")\r\n\r\n// Follow user\r\nuser.Follow(*session)\r\n\r\n// Get array of user objects\r\nfollowers := user.GetFollowers()\r\n```\r\n**Connecting to Turbowarp cloud**\r\n```go\r\n// Connect to turbowarp websocket\r\ncloud := scratchgonnect.ConnectTurbowarpCloud(\"username\", \"1121839236\")\r\n```\r\nSetting a cloud variable\r\n```go\r\n// Sets the value of a cloud variable\r\ncloud.SetVariable(\"t1\", 314)\r\n```\r\nListening to cloud variable changes\r\n```go\r\n// Listens to all set variable messages\r\ncloud.Listen(cloud_listener)\r\n\r\n// Prints out name and new value of changed variable\r\nfunc cloud_listener(connection *scratchgonnect.CloudSocket, variable_name string, value int) {\r\n\tfmt.Println(variable_name, value)\r\n}\r\n```\r\n\r\n*More examples in examples/example.go file*\r\n\r\n## License\r\nScratchGonnect is licensed under the GPL-3.0 license and is free to use and open-source.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkejjtoli%2Fscratchgonnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkejjtoli%2Fscratchgonnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkejjtoli%2Fscratchgonnect/lists"}