Skip to main content

API wrapper for scratch

Project description

ENG

Scratch Plus

What is ScratchPlus?

ScratchPlus is a Scratch API library for Python :snake:.

What can our module do?

  • [✔️] Work with scratch data
  • [✔️] Write and read comments
  • [✔️] Work with cloud projects on Scratch
  • [❌] Register on Scratch
  • [✔️] Read forums and get post data
  • [✔️] Encode scratch numeric cloud data into normal strings
  • [❌] Post on forums

Advantages over analogue (ScratchClient)

  • [👍] Ability to automatically encode and decode cloud data
  • [👍] Read profile comments by parsing

Libraries or APIs used:

  • Requests - Library For convenient work with the HTTP protocol.
  • ScratchDB - API For working with Scratch forums.
  • IsScratcher - API To check Scratcher status

Installation

To install, you can use the command pip install scratchplus

Quick Start

from scratchplus import Session # import Session
ses = Session("username_on_scratch", "password") # log in
user = ses.get_user("gagarintentoper") # get user
user.post_comment("Hello Scratch+ devloper!") # post the comment

Documentation

Account connection

To work with most of the API, you need to log in (see below)

from scratchplus import Session
account = Session("username_on_scratch", "password")

Get Methods

After authorization, we can get an object from API for further work with it This will list all Get Zaros

get_user

account.get_user("username")

The method returns an object of class YourUser or AnotherUser

get_project

account.get_project(22814354) # project ID as argument

The method returns an object of class YourProject or AnotherProject

USER

There will be documentation on the User class

print(user.id) # Print user id
print(user.username) # Print username
print(user.joined_timestamp) # Prints the date the user joined the scratch
print(user.scratchteam) # Print if user belongs to ScratchTeam (True / False)
print(user.get_projects(all=False, limit=20, offset=0)) # Lists projects created by user. The all flag is needed if you want to get all projects.
print(user.get_curating(all=False, limit=20, offset=0)) # Lists the studios the user is curating. The all flag is needed if you want to get all the studios.
print(user.get_favorites(all=False, limit=20, offset=0)) # List favorite projects. The all flag is needed if you want to get all featured projects.
print(user.get_followers(all=False, limit=20, offset=0)) # Lists followers of user user. The all flag is needed if you want to get all subscribers.
print(user.get_following(all=False, limit=20, offset=0)) # Print a list of users that user has followed. The all flag is needed if you want to get all user subscriptions.
print(user.get_message_count()) # Prints the number of messages in the user's scratch
print(user.get_comments(page=1)) # Print all comments from a page on the user's profile
user.post_comment(content, parent_id="", commentee_id="") # Post a comment on user's profile. In the parent_id parameter, the id of the comment under which you want to leave a new one.
user.toggle_commenting() # Turns on/off commenting on the user profile, only works on the profile of the account you are logged into
user.follow() # Follow user
user.unfollow() # Unfollow ser
user.report(field) # Sends a report to user. Field - field for selecting the reason for the report (Username/Icon/About Me/What I'm Working On)

Thanks

  • To github user Quatum-Codes for the comment parser

RUS

ScratchPlus

Что такое ScratchPlus?

ScratchPlus - это библиотека для работы со Scratch Api для Python :snake:.

Что может наш модуль?

  • [✔️] Работать с данными скретча
  • [✔️] Писать и читать комментарии
  • [✔️] Работать с облачными проектами на Scratch
  • [❌] Регестрироватся на Scratch
  • [✔️] Читать форумы и получать данные о постах
  • [✔️] Кодирование числовых облачных данных скретча в обычные строки
  • [❌] Постить на форумах

Преимущества перед аналогом (ScratchClient)

  • [👍] Возможность автоматический кодировать и декодировать облачные данные
  • [👍] Чтение комментариев профиля путём парсинга

Используймые библеотеки или API:

  • Requests - Библеотека Для удобной работы с протоколом HTTP.
  • ScratchDB - API Для работы с форумами на Scratch.
  • IsScratcher - API Для проверки статуса Скретчера

Установка

Для установки можно возпользоваться командой pip install scratchplus

Начало

Первым Quick Start у нас будет скрипт, для оставления комментариев на профиле пользователя

from scratchplus import Session # импротируем сессию
ses = Session("username_on_scratch", "password") # входим в аккаунт
user = ses.get_user("gagarintentoper") # получаем пользователя
user.post_comment("Привет Scratch+ разработчик!") # оставляем комментарий

Документация

Подключение к аккаунту

Для работы с большей части API нужно авторизоваться (см. ниже)

from scratchplus import Session
account = Session("username_on_scratch", "password")

Методы Get

После авторизации, мы можем получить объект из APi для далнейшей работы с ним Здесь будет приведёт список всех Get Заросов

get_user

account.get_user("username")

Метод возращает объект класса YourUser или AnotherUser

get_project

account.get_project(22814354) # ID проекта как аргумент

Метод возращает объект класса YourProject или AnotherProject

USER

Здесь будет документация по классу User

print(user.id) # Выведет user id
print(user.username) # Выведет username
print(user.joined_timestamp) # Выведет user дата присоединения к скретчу 
print(user.scratchteam) # Выведет, относиться ли пользователь к ScratchTeam (True / False)
print(user.get_projects(all=False, limit=20, offset=0)) # Выведет список проектов, созданных user. Флаг all нужен, если вы хотите получить все проекты. 
print(user.get_curating(all=False, limit=20, offset=0)) # Выведет список студий, которые курирует user. Флаг all нужен, если вы хотите получить все студии. 
print(user.get_favorites(all=False, limit=20, offset=0)) # Выведет список избранных проектов. Флаг all нужен, если вы хотите получить все избранные проекты. 
print(user.get_followers(all=False, limit=20, offset=0)) # Выведет список подписчиков пользователя user. Флаг all нужен, если вы хотите получить всех подписчиков.
print(user.get_following(all=False, limit=20, offset=0)) # Выведет список пользователей, на которых подписался user. Флаг all нужен, если вы хотите получить все подписки к пользователям. 
print(user.get_message_count()) # Выведет количество сообщений в скретче у user
print(user.get_comments(page=1)) # Выведет все комментарии со страницы на профиле user
user.post_comment(content, parent_id="", commentee_id="") # Оставит комментарий на профиле user. В параметр parent_id id комментария, под которым вы хотите оставить новый. 
user.toggle_commenting() # Включает/Выключает комментирование на профиле user, работает только на профиле аккаунта, в который вы вошли
user.follow() # Подписываеться на user
user.unfollow() # Отписываеться от гser
user.report(field) # Посылает репорт на user. Field - поле выбора причины репорта (Username/Icon/About Me/What I'm Working On) 

Спасибо

  • Пользователю github Quatum-Codes за парсер комментариев

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scratchplus-1.6.2.tar.gz (17.3 kB view details)

Uploaded Source

File details

Details for the file scratchplus-1.6.2.tar.gz.

File metadata

  • Download URL: scratchplus-1.6.2.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for scratchplus-1.6.2.tar.gz
Algorithm Hash digest
SHA256 b0ff0691c5f7bfe3cb3d16e8c8c0242d89a4bc64a6ef68148a03377ff5ab2865
MD5 686fa2eb3c0fc28c4f591a6951c7e550
BLAKE2b-256 070258b7dee21bab78595fb49864324f9a3197bf48b02c7e6a3c6701e183b16e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page