Материал из Скретч Вики
![]() |
Эта статья или раздел может иметь содержание, не соответствующее стандартам Скретч Вики. Пожалуйста, улучшите её в соответствии с правилами и рекомендациями по редактированию. |
ScratchClient — это библиотека для python, которая даёт возможность удобно взаимодействовать со Scratch Api. Она может делать почти всё, что присутствует в scratch api.
![]() |
Внимание! Использовать API Scratch'а для нарушения правил Scratch и/или условий использования Scratch (например, спам-рассылка или массрепорт) запрещено! Вы можете получить бан за злоупотребление API не только по аккаунту, но и по IP-адресу. |
Функционал
Данная библиотека позволяет:
- Изменять облачные переменные;
- Читать облачные переменные;
- Читать комментарии на проекта, у профилей пользователей, в студиях;
- Оставлять комментарии на проектах, у пользователей и в студиях;
- Жаловаться на пользователей, студии, проекты;
- Подписываться, лайкать и добавлять проекты в избранное, подписываться на студии и делать все те же действия наоборот;
- Читать сообщения.
Установка Библиотеки
Команда для установки библиотеки ниже
pip install scratchclient
Подключение пользователя
from scratchclient import ScratchSession s = ScratchSession("имя на скретче", "пароль на скретче") user = s.get_user("user") user.post_comment("Ура! Это Пример со скретч вики! Мы отправили тебе его, автор статьи!")
В первой строке мы импортируем библиотеку, а из неё ScratchSession. ScratchSession — это сессия входа на скретч для работы с api. Вторая строка - мы создаём класс ScratchSession в переменной s ScratchSession осуществляет вход в аккаунт скретч. Что бы она вошла нужно предоставить данные(username, password) В третей строке мы используем s.get_user(), как мы разобрали в прошлой строке s - это ScratchSession. Она имеет функцию получения get_user() Её синтаксис:
s.get_user("Имя пользователя")
После получения пользователя мы задаём переменную user, где будет храниться нужный нам пользователь. Далее мы используем функцию user.post_comment("Тут комментарий"), она оставляет комментарий у user, проекта или студии, но в ней (до точки) должен передаваться объект (можно было и s.get_user("U Ser").post_comment("U is U Ser")), объект это user, либо project, либо studio.
Работа с переменными
from scratchclient import ScratchSession ass = ScratchSession("Имя аккаунта", "Пароль") connection = ass.create_cloud_connection(id проекта) connection.set_cloud_variable("имя переменной", value) #где value является новым значением переменной
Сначала, мы подключились к пользователю, введя его имя и пароль. Далее, мы подключились к проекту по его id, и наконец, изменили значение переменной. Следует отметить, что такой способ изменения переменных работает только с облачными переменными
Комментарии
session.get_project(ID проекта).post_comment("Комментарий") # опубликовать комментарий в проекте session.get_studio(ID студии).post_comment("Комментарий") # опубликовать комментарий в студии session.get_project(ID проекта).get_comments()[0].content # Получить комментарии
Проекты
session.get_project(ID проекта).love() # поставить лайк session.get_project(ID проекта).favorite() # поставить звезду session.get_project(ID проекта).unlove() # убрать лайк session.get_project(ID проекта).unfavorite() # убрать звезду session.get_project(ID проекта).description # получить описание проекта session.get_project(ID проекта).instructions # получить инструкции проекта session.get_project(ID проекта).title # получить название проекта session.get_project(ID проекта).love_count # получить кол-во лайков session.get_project(ID проекта).favorite_count # получить кол-во звёзд session.get_project(ID проекта).remix_count # получить кол-во ремиксов session.get_project(ID проекта).view_count # получить кол-во просмотров session.get_project(ID проекта).comments_allowed # проверка на разрешение комментирования проекта session.get_project(ID проекта).author.username # получить имя пользователя создателя проекта
Студии
session.get_studio(STUDIOIDHERE).description # получить описание студии
Пользователь
session.get_user(USERNAMEHERE).get_message_count() # получить кол-во сообщений пользователя session.get_user(USERNAMEHERE).follow() # подписаться на пользователя session.get_user(USERNAMEHERE).unfollow() # отписаться от пользователя session.get_user(USERNAMEHERE).profile.bio # получить информацию пользователя "О себе" session.get_user(USERNAMEHERE).get_followers()[0].username # получить список подписчиков пользователя session.get_user(USERNAMEHERE).joined_timestamp # получить дату регистрации пользователя session.get_user(USERNAMEHERE).scratchteam # получить булевое значение (True/False), является ли пользователь членом команды Скретч