Учтите, что описания атрибутов, получаемые через HTTP-реквесты берутся чисто от балды. Если вы - куратор, учитель или кто-то другой, работавший над REST API Алгоритмики и нашли несостыковку либо просто хотите дополнить документацию, сабмитните новое ишью.
Названия атрибутов, помеченных звездочкой
*
, могут отличаться от их истинного значения либо их истинное значение неизвестно.
Некоторых атрибутов, доступных через
dict
у некоторых классов, может не существовать в самих классах в связи с неизвестностью обозначения атрибута.
Сессия входа в систему.
Имя | Тип | Описание |
---|---|---|
login |
str |
Ваш логин в системе. |
password |
str |
Ваш пароль в системе. |
Имя | Тип | Описание |
---|---|---|
login_name |
str |
Ваш последний введённый логин в системе. |
password |
str |
Ваш последний введённый пароль в системе. |
id |
int / None |
ID пользователя на платформе.None , если вы не вошли в систему. |
session |
requests.Session / None |
Сессия, через которую обрабатываются все HTTP-реквесты.None , если вы не вошли в систему. |
При изменении логина или пароля напрямую вы останетесь на том же аккаунте, на который входили.
Входит в аккаунт.
Если вы уже вошли в аккаунт, поднимет ошибку AlreadyLoggedIn
.
Эта функция автоматически выполняется при создании объекта
класса algo_api.Session
с указанными данными.
Выходит из аккаунта и завершает сессию.
Для повторного входа в систему необходимо вызвать login()
.
Возвращает полную информацию профиля залогиненного
пользователя как объект класса SelfProfile
.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Возвращает профиль пользователя под указанным ID как объект класса Profile
.
Если пользователь не найден, поднимет ошибку.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Возвращает список ваших проектов с указанной сортировкой как список с объектами класса algo_api.Project
.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Возвращает список проектов указанного пользователя или из зала славы с указанной сортировкой как список с объектами класса algo_api.Project
.
Если параметр id
равен None
, вернёт проекты из Зала Славы.
Если page
неверен, вернёт 1-ю страницу.
Если per_page
неверен, per_page
автоматически заменится на 1.
Если параметр id
указан, но пользователь с этим ID не найден, вернёт пустой список.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Возвращает список проектов из секции "Тренды" как список с объектами класса algo_api.Project
.
Значение interval
должно быть любым из следующей таблицы:
Переменная | Описание |
---|---|
algo_api.TRENDS_DAY |
Тренды за день |
algo_api.TRENDS_WEEK |
Тренды за неделю |
algo_api.TRENDS_MONTH |
Тренды за месяц |
Если interval
неверно, поднимет ошибку.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Возвращает проект под указанным ID как объект класса algo_api.Project
.
Если проект не найден, поднимет ошибку.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Ставит указанную реакцию из таблицы ниже под проект с указанным ID.
Переменная | Реакция |
---|---|
algo_api.REACTION_LOVE |
Сердечко |
algo_api.REACTION_LIKE |
Лайк |
algo_api.REACTION_FIRE |
Огонёк |
Если реакция не найдена, поднимет ошибку.
Если реакция уже стоит или ID проекта неверно, ничего не произойдёт.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Убирает указанную реакцию из таблицы ниже с проекта под указанным ID.
Переменная | Реакция |
---|---|
algo_api.REACTION_LOVE |
Сердечко |
algo_api.REACTION_LIKE |
Лайк |
algo_api.REACTION_FIRE |
Огонёк |
Если реакция не найдена, поднимет ошибку.
Если реакции и так нету или ID проекта неверно, ничего не произойдёт.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Отправляет комментарий с указанным текстом под проект с указанным ID.
Вы также можете использовать эмодзи из таблицы ниже.
Переменная | Строка | Описание |
---|---|---|
algo_api.EMOJI_ANGRY |
:angry |
Злой красный овал. |
algo_api.EMOJI_FIRE |
:fire |
Улыбающийся огонёк. В написанном комментарии отображается без смайлика. |
algo_api.EMOJI_HEART |
:heart |
Улыбающееся сердечко. В написанном комментарии отображается без смайлика. |
algo_api.EMOJI_LIKE |
:like |
Улыбающийся лайк. В написанном комментарии отображается без смайлика. |
algo_api.EMOJI_REASONING |
:reasoning |
Серый камешек, который смотрит презирающе. |
algo_api.EMOJI_SAD |
:sad |
Грустная капелька воды. |
algo_api.EMOJI_WOW |
:wow |
Удивляющийся жёлтый кружок. |
Если reply_to
не None
, ваш комментарий будет отправлен в ответ к
комментарию с указанным в reply_to
ID.
Возвращает объект класса algo_api.Comment
Если text
пустой или ID неверно, поднимет ошибку.
Если reply_to
неверно (но при этом меньше ID последнего отправленного комментария), ваш комментарий будет показываться на проекте с комментарием, на который вы ответили.
Если вы ответили на ответный комментарий, ваш новый комментарий запишется в систему, будет получаться через другие команды, но на сайте отображаться не будет.
В обоих случаях, указанных выше, счётчик комментариев увеличится на указанном проекте.
Комментарии окончательно сломаны. Я больше не хочу этим заниматься.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Удаляет комментарий с указанным ID с проекта.
Если ID неверно, поднимет ошибку.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Возвращает список комментариев под указанным проектом как список с объектами класса algo_api.Comment
.
Если проект не найден или недоступен, вернёт пустой список.
Если page
неверен, вернёт 1-ю страницу.
Если per_page
неверен, per_page
автоматически заменится на 1.
Если вы не вошли в аккаунт, поднимет ошибку SessionClosed
.
Возвращает исходный код указанного проекта как объект класса str
.
Работает только с вашими Python проектами.
Если указанный проект не является Python проектом, поднимет ошибку TypeError
.
Если исходный код проекта не найден (в основном это происходит потому что он не принадлежит вам), поднимет ошибку.
Перезаписывает исходный код указанного проекта на новый (code
).
Работает только с вашими Python проектами.
Если указанный проект не является Python проектом, поднимет ошибку TypeError
.
Если нет доступа к исходному коду проекта (в основном это происходит потому что он не принадлежит вам), поднимет ошибку.
Изменяет название (title
) и/или описание (description
) проекта если они указаны.
Профиль пользователя, под которым вы зашли.
При конвертации в int
вернёт ID пользователя в системе.
При конвертации в str
вернёт полное имя (full_name
) пользователя.
Имя | Тип | Описание |
---|---|---|
dict |
dict |
Словарь, полученый при отправлении запроса. |
id |
int |
ID пользователя в системе. |
first_name |
str |
Имя пользователя. |
last_name |
str |
Фамилия пользвателя. |
parent_name |
str |
Имя родителя пользователя. |
full_name |
str |
Полное имя (Ф.И.) пользователя. |
username |
str |
Имя, используемое при входе в систему (логин). Никому, кроме вас, этот атрибут виден не будет. |
phone |
str |
Номер телефона для связи с пользователем. |
email |
str |
Электронная почта для связи с пользователем. |
is_teacher |
bool |
Является ли пользователь учителем. |
is_celebrity |
bool |
Является ли пользователь Селебрити. |
lang |
str |
Язык пользователя. |
branch |
algo_api.Branch |
Ветка обучения пользователя. |
ban |
algo_api.Ban |
Информация о бане пользователя. |
settings |
algo_api.Settings |
Настройки редактора пользователя. Менять их может только учитель.* |
avatar |
algo_api.Avatar |
Информация об аватаре пользователя. |
course |
algo_api.Course |
Информация о текущем курсе пользователя. |
url |
str |
Ссылка на профиль пользователя. |
birth_date |
datetime.date |
Дата рождения пользователя. |
Видимый профиль пользователя.
При конвертации в int
вернёт ID пользователя в системе.
При конвертации в str
вернёт полное имя (full_name
) пользователя.
Имя | Тип | Описание |
---|---|---|
dict |
dict |
Словарь, полученый при отправлении запроса. |
id |
int |
ID пользователя в системе. |
first_name |
str |
Имя пользователя. |
last_name |
str |
Фамилия пользвателя. |
full_name |
str |
Полное имя (Ф.И.) пользователя. |
is_celebrity |
bool |
Является ли пользователь Селебрити. |
about |
str |
"Обо мне" пользователя. |
course_name |
str |
Имя курса, на котором учится пользователь. |
city |
str / None |
Город пользователя. Вернёт None , если город не указан или не опознан.* |
friend_status |
str / None |
Текущий статус друга между вами и пользователем.None - незнакомцы / пользователь подписан на васalgo_api.RELATIONSHIP_FOLLOW - вы подписаны на пользователяalgo_api.RELATIONSHIP_FRIEND - вы друзья |
updated_at |
datetime.datetime / None |
Дата и время последнего обновления пользователя. Вернёт None , если аккаунт слишком стар и не обновлялся до введения данного атрибута.* |
stats |
UserStats |
Статистика пользователя. |
avatar |
Avatars |
Аватар(-ы) пользователя. |
friends |
list[ProfilePreview] |
Список друзей пользователя. |
classmates |
list[ProfilePreview] |
Список одноклассников пользователя. |
url |
str |
Ссылка на профиль пользователя. |
Превью профиля. Обычно появляется в месте автора проекта, в списке друзей и тому подобное.
При конвертации в int
вернёт ID пользователя в системе.
При конвертации в str
вернёт полное имя (full_name
) пользователя.
Имя | Тип | Описание |
---|---|---|
dict |
dict |
Словарь, полученый при отправлении запроса. |
id |
int |
ID пользователя в системе. |
first_name |
str |
Имя пользователя. |
last_name |
str |
Фамилия пользвателя. |
full_name |
str |
Полное имя (Ф.И.) пользователя. |
is_celebrity |
bool |
Является ли пользователь Селебрити. |
avatar |
Avatar |
Аватар пользователя. |
url |
str |
Ссылка на профиль пользователя. |
Аватар пользователя.
При конвертации в str
вернёт ссылку на SVG-версию аватара (svg_url
).
Имя | Тип | Описание |
---|---|---|
name |
str / None |
Имя стандартного аватара. Вернёт None , если установлен кастомный аватар.* |
small_url |
str / None |
Ссылка на стандартный аватар. Вернёт None , если установлен кастомный аватар.* |
svg_url |
str |
Ссылка на SVG-версию аватара пользователя. |
Стандартный аватар.
При конвертации в str
вернёт ссылку на аватар (url
).
Имя | Тип | Описание |
---|---|---|
name |
str |
Имя стандартного аватара. |
url |
str |
Ссылка на стандартный аватар. |
small_url |
str |
Ссылка на мини-версию аватара. |
Список аватаров пользователя, включая текущий.
При конвертации в str
вернёт ссылку на SVG-версию аватара (svg_url
).
Имя | Тип | Описание |
---|---|---|
name |
list[AvatarTemplate] |
Список доступных стандартных аватаров. |
svg_url |
str |
Ссылка на SVG-версию аватара пользователя. |
Статистика пользователя.
Имя | Тип | Описание |
---|---|---|
classmates |
int |
Количество одногруппников у пользователя. |
projects |
int |
Количество проектов у пользователя. |
views |
int |
Количество просмотров под всеми проектами в сумме. |
likes |
int |
Количество лайков под всеми проектами в сумме. |
reactions |
int |
Количество реакций пользователя.* |
friends |
int |
Количество друзей у пользователя. |
followers |
int |
Количество подписчиков у пользователя. |
following |
int |
Количество пользователей, на которых подписан пользователь. |
avatars |
int |
Количество аватаров у пользователя. |
avatar_items |
int |
Количество предметов для создания аватара у пользователя. |
lootboxes |
int |
Количество лутбоксов у пользователя.* |
Информация о курсе пользователя.
При конвертации в str
вернёт отображаемое имя курса (display_name
).
Имя | Тип | Описание |
---|---|---|
id |
int |
ID курса. |
name |
str |
Имя курса. |
display_name |
str |
Отображаемое имя курса. |
description |
str |
Подробное описание курса. |
gamification_enabled |
bool |
Включена ли геймификация.* |
gamification_level_points |
int |
Количество очков геймификации.* |
gamification_bonus_points |
int |
Количество бонусных очков геймификации.* |
Настройки редактора пользователя.
Имя | Тип | Описание |
---|---|---|
allowed_file_extensions |
list[str] |
Разрешенные для загрузки в проекты файлы. |
vscode_file_name_pattern |
str |
Фраза Regex для определения файлов VSCode. |
prosveshenie_token |
str |
Токен просвещения.* |
Информация о бане пользователя.
Имя | Тип | Описание |
---|---|---|
is_banned |
bool |
Забанен ли пользователь. |
reason |
str / None |
Причина бана пользователя. Вернёт None , если пользователь не забанен. |
expires_at |
datetime.datetime / None |
Время окончания бана. Вернёт None , если пользователь не забанен. |
Ветка, в которой учится пользователь.
При конвертации в str
вернёт имя ветки (title
).
При конвертации в int
вернёт ID ветки (id
).
Имя | Тип | Описание |
---|---|---|
id |
int |
ID ветки в системе. |
brand_name |
str |
Имя бренда ветки.* |
title |
str |
Название ветки. |
code |
str |
Кодовое название ветки в системе. |
phone |
str |
Номер телефона горячей линии ветки. |
site_url |
str / None |
Ссылка на сайт ветки. Вернёт None , если сайта нет. |
Проект.
При конвертации в int
вернёт ID проекта в системе.
При конвертации в str
вернёт название (title
) проекта.
Имя | Тип | Описание |
---|---|---|
dict |
dict |
Словарь, полученый при отправлении запроса. |
id |
int |
ID проекта в системе. |
title |
str |
Заголовок проекта. |
description |
str / None |
Описание проекта. Если оно пустое, вернёт None . |
type |
str |
Тип/курс проекта.algo_api.TYPE_IMAGES - картинки и гифкиalgo_api.TYPE_DESIGN - дизайнalgo_api.TYPE_PYTHON - Pythonalgo_api.TYPE_PRESENTATION - презентацияalgo_api.TYPE_SCRATCH - Scratchalgo_api.TYPE_WEBSITE - сайтalgo_api.TYPE_GAMEDESIGN - геймдизайнalgo_api.TYPE_UNITY - проект Unityalgo_api.TYPE_VIDEO - видеоalgo_api.TYPE_VSCODE - проект из VSCode* |
availabitily |
list[str] |
Видимость проекта. Если algo_api.SHARING_MODE_GROUP в списке - виден одногруппникамЕсли algo_api.SHARING_MODE_PUBLIC в списке - виден в Зале Славы |
likes |
int |
Количество лайков у проекта. |
views |
int |
Количество просмотров у проекта. |
remixes |
int |
Количество ремиксов у проекта. |
comments |
int |
Количество комментариев у проекта. |
is_deleted |
bool |
Удалён ли проект. |
author |
algo_api.ProfilePreview |
Автор проекта. |
image |
algo_api.PreviewImage / None |
Картинка на превью.None если не указана, либо используется картинка файла из проекта.Кастомно-указанные картинки проектов не будут возвращать None . |
reactions |
algo_api.Reactions |
Реакции, поставленные на проект. |
created_at |
datetime.datetime |
Время создания проекта. |
updated_at |
datetime.datetime |
Время последнего обновления проекта. |
remix_enabled |
bool |
Включён ли ремикс у проекта. |
original_project |
algo_api.RemixedProject / None |
Оригинальный проект. Вернёт None , если проект не является ремиксом. |
uploads |
list[algo_api.Upload] |
Файлы, загруженные в проект. Отображаются только файлы самого проекта, т.е. загруженные картинки или другие файлы в, например, проект Python вы в этом списке не увидите. |
url |
str |
Ссылка на страницу проекта. |
meta |
dict |
Мета-данные проекта. Обычно тут появляются ID проекта в онлайн редакторе кода, ссылки на сторонние сайты и прочее. |
Оригинальный проект ремикса.
При конвертации в int
вернёт ID проекта в системе.
При конвертации в str
вернёт название (title
) проекта.
Имя | Тип | Описание |
---|---|---|
id |
int |
ID проекта в системе. |
title |
str |
Заголовок проекта. |
author_name |
str |
Имя автора проекта. |
url |
str |
Ссылка на страницу проекта. |
Картинка, показывающаяся в превью проекта.
При конвертации в str
вернёт ссылку на картинку (url
).
Имя | Тип | Описание |
---|---|---|
name |
str |
Название картинки.auto , если установлена кастомная картинка. |
small_url |
str |
Ссылка на мини-версию картинки. |
url |
str |
Ссылка на картинку. |
Реакции, оставленные под проектом.
Имя | Тип | Описание |
---|---|---|
likes |
int |
Количество поставленных лайков. |
loves |
int |
Количество поставленных сердечек. |
fires |
int |
Количество поставленных огоньков. |
you_placed_like |
bool |
Поставили ли вы лайк проекту. |
you_placed_love |
bool |
Поставили ли вы сердечко проекту. |
you_placed_fire |
bool |
Поставили ли вы огонёк проекту. |
Файл, загруженный в проект.
При конвертации в str
вернёт ссылку на файл (url
).
При конвертации в int
вернёт ID файла в системе (id
).
Имя | Тип | Описание |
---|---|---|
id |
int |
ID файла в системе. |
filename |
str |
Оригинальное название файла. |
url |
str |
Ссылка на файл. |
created_at |
datetime.datetime |
Время загрузки файла. |
updated_at |
datetime.datetime |
Время последнего обновления файла. |
Комментарий, оставленный под проектом.
При конвертации в str
вернёт текст комментария (message
).
При конвертации в int
вернёт ID комментария в системе.
Имя | Тип | Описание |
---|---|---|
id |
int |
ID комментария в системе. |
message |
str |
Текст комментария. |
author |
algo_api.ProfilePreview |
Автор комментария. |
children |
list[algo_api.Comment] |
Ответы на комментарий. |
created_at |
datetime.datetime |
Время создания комментария. |