Discuss Scratch

AANNTTOONNII
Scratcher
1000+ posts

HAKOWANIE CHMURY

W tym temacie wywiązała się dyskusja na temat możliwości ustawienia dowolnej zmiennej chmurowej w dowolnym projekcie za pomocą skryptu.

Czy można to zrobić?
TAK

Czy jest to łatwe?
TAK

Właściwie jest to funkcjonalność API, ale “hakowanie” brzmi lepiej. Poniższy skrypt, który napisałem i używa scratch-api i może ustawić dowolną zmienną chmurową w dowolnym projekcie na dowolną wartość:
var Scratch = require('scratch-api');
Scratch.UserSession.load(function(err, user) {
  user.cloudSession('383508638', function(err, cloud) {
    cloud.set('☁ CLOUD', 10);
  });
});
Powyższy skrypt ustawia zmienną ☁ CLOUD w tym projekcie na 10. Javascriptowe API scratcha pozwala także na wypisanie wszystkich zmiennych chmurowych i ich wartości dla danego projektu. Można to zrobić tym skryptem:
var Scratch = require('scratch-api');
Scratch.UserSession.load(function(err, user) {
  user.cloudSession('383508638', function(err, cloud) {
    cloud.on('set', function(name, value) {
      console.log(name, value);
    });
  });
});

Jak uruchomić te skrypty?

Musisz mieć zainstalowane node.js
Jeśli używacie GNU/linuxa to pewnie macie tą paczkę w oficjalnym repo. Dla linuxów debiano i archo podobnych ta paczka nazywa się nodejs. W linuxach redhatopodobnych musicie zainstalować paczkę nodejs, albo node. Jeśli używasz Windowsa to pewnie nie masz oficjalnego repo więc musisz poradzić sobie jakoś sam.

Musisz mieć zainstalowane NPM (node package manager)
Dla linuxów debiano i archo podobnych paczka nazywa się npm, a w redhatopodobnych nie musisz się nawet o to martwić ponieważ npm zostanie zainstalowane razem z node.js. Jeśli używasz Windowsa znowu musisz poradzić sobie sam.

Musisz mieć zainstalowane scratch-api
Możesz użyć do tego komendy:
npm install scratch-api
Możesz też zainstalować scratch-api globalnie, ale żeby podane przeze mnie skrypty działały musisz mieć też zainstalowane je lokalnie. Oto jak zainstalować scratch-api globalnie:
npm install -g scratch-api

Jak już mamy zainstalowane node.js i scratch-api i wsadzimy sobe ten skrypt do jakiegoś pliku fajnyskrypt to uruchamiamy go w ten sposób:
node fajnyskrypt

Jak już napisałem ten post to pomyślałem sobie, że przydałby się na ten temat poradnik, którego ja nie napiszę bo się zmęczyłem i mi się nie chce… Chyba, że przez tydzień nikt go nie napisze to wtedy pomyślę… Bo chyba tylko ja od czasu do czasu piszę jakieś poradniki… Zadanie jest w sumie łatwe bo ten poradnik nie zawierałby nic więcej niż jest w tym poście, ale musiałby być napisany odpowiednim tonem i powinien być ładnie sformatowany. To wersja minimalistyczna bo można dodać też więcej funkcjonalności API. Zależy jak nazwiesz poradnik.

Jeszcze jedno. Link do strony scratch-api.

Last edited by AANNTTOONNII (April 26, 2020 17:17:10)

Powered by DjangoBB