Skip to content

Comments

comment

comment(
    client: AsyncClient,
    access_token: str,
    post_id: UUID,
    content: str = "",
    attachment_ids: list[UUID] | None = None,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> Comment

Создать комментарий.

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

post_id

UUID поста

TYPE: UUID

content

текст поста

TYPE: str DEFAULT: ''

attachment_ids

список UUID файлов

TYPE: list[UUID] | None DEFAULT: None

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RETURNS DESCRIPTION
Comment

Созданный комментарий

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

пост не найден

ITDError

attachments_ids[i] файла с таким UUID не существует

ValidationError

Нельзя создать комментарий content="", attachment_ids = []

ParamsValidationError

len(attachments_ids) <= 4

ITDError

не должно быть одинаковых attachment_ids[i]

ParamsValidationError

len(content) <= 1_000

Examples:

from httpx import AsyncClient
from aioitd.api import refresh, get_posts, comment, upload_file

refresh_token = "ВАШ ТОКЕН"

async def main():
    async with AsyncClient() as client:
        access_token = await refresh(client, refresh_token)
        _, posts = await get_posts(client, access_token)
        with open('tests/image.jpg', 'rb') as f:
            image = await upload_file(client, access_token, f)
        await comment(client, access_token, posts[0].id, "Это комментарий", [image.id])

replies

replies(
    client: AsyncClient,
    access_token: str,
    comment_id: UUID,
    content: str = "",
    replay_to_user_id: UUID = None,
    attachment_ids: list[UUID] = None,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> Reply

Ответить на комментарий

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

comment_id

UUID комментария

TYPE: UUID

content

текст комментария

TYPE: str DEFAULT: ''

replay_to_user_id

UUID пользователя, которому ответ

TYPE: UUID DEFAULT: None

attachment_ids

список UUID файлов

TYPE: list[UUID] DEFAULT: None

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RETURNS DESCRIPTION
Reply

Созданный ответ

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

комментарий не найден

ValidationError

Нельзя создать ответ content="", attachment_ids = []

ITDError

attachments_ids[i] файла с таким UUID не существует

ParamsValidationError

len(attachments_ids) <= 4

ParamsValidationError

len(content) <= 1_000

Examples:

from httpx import AsyncClient
from aioitd.api import refresh, get_posts, comment, upload_file, replies

refresh_token = "ВАШ ТОКЕН"

async def main():
    async with AsyncClient() as client:
        access_token = await refresh(client, refresh_token)
        _, posts = await get_posts(client, access_token)
        with open('tests/image.jpg', 'rb') as f:
            image = await upload_file(client, access_token, f)
        comm = await comment(client, access_token, posts[0].id, "Это комментарий")
        await replies(client, access_token, comm.id, 'Это ответ', attachment_ids=[image.id])

edit_comment

edit_comment(
    client: AsyncClient,
    access_token: str,
    comment_id: UUID,
    content: str,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> UpdateCommentResponse

Ответить на комментарий.

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

comment_id

UUID комментария

TYPE: UUID

content

текст комментария

TYPE: str

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RETURNS DESCRIPTION
UpdateCommentResponse

Новое содержимое комментария

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

комментарий не найден

ForbiddenError

нет прав на редактирование этого комментария

ParamsValidationError

1 <= len(content) <= 1_000

Examples:

from httpx import AsyncClient
from aioitd.api import refresh, get_posts, comment, edit_comment

refresh_token = "ВАШ ТОКЕН"

async def main():
    async with AsyncClient() as client:
        access_token = await refresh(client, refresh_token)
        _, posts = await get_posts(client, access_token)
        comm = await comment(client, access_token, posts[0].id, "Это комментарий")
        await edit_comment(client, access_token, comm.id, 'Изменённый комментарий')

delete_comment

delete_comment(
    client: AsyncClient,
    access_token: str,
    comment_id: UUID,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> None

Удалить комментарий.

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

comment_id

UUID комментария

TYPE: UUID

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

комментарий не найден

ForbiddenError

нет прав на удаление комментария

Examples:

from httpx import AsyncClient
from aioitd.api import refresh, get_posts, comment, delete_comment

refresh_token = "ВАШ ТОКЕН"

async def main():
    async with AsyncClient() as client:
        access_token = await refresh(client, refresh_token)
        _, posts = await get_posts(client, access_token)
        comm = await comment(client, access_token, posts[0].id, "Это комментарий")
        await delete_comment(client, access_token, comm.id)

restore_comment

restore_comment(
    client: AsyncClient,
    access_token: str,
    comment_id: UUID,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> None

Восстановить комментарий.

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

comment_id

UUID комментария

TYPE: UUID

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

комментарий не найден

ForbiddenError

нет прав на восстановление комментария

Examples:

from httpx import AsyncClient
from aioitd.api import refresh, get_posts, comment, delete_comment, restore_comment

refresh_token = "101c68cc5142de4737f3112fb8236715595e6f9ce0ea19ababb219210f526373"

async def main():
    async with AsyncClient() as client:
        access_token = await refresh(client, refresh_token)
        _, posts = await get_posts(client, access_token)
        comm = await comment(client, access_token, posts[0].id, "Это комментарий")
        await delete_comment(client, access_token, comm.id)
        await restore_comment(client, access_token, comm.id)

like_comment

like_comment(
    client: AsyncClient,
    access_token: str,
    comment_id: UUID,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> int

Поставить лайк на комментарий.

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

comment_id

UUID комментария

TYPE: UUID

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RETURNS DESCRIPTION
int

Лайков на комментарии

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

комментарий не найден

Examples:

from httpx import AsyncClient
from aioitd.api import refresh, get_posts_by_user, like_comment, get_post_comments

refresh_token = "101c68cc5142de4737f3112fb8236715595e6f9ce0ea19ababb219210f526373"

async def main():
    async with AsyncClient() as client:
        access_token = await refresh(client, refresh_token)
        _, posts = await get_posts_by_user(client, access_token, 'nowkie')
        _, comments = await get_post_comments(client, access_token, posts[0].id)
        await like_comment(client, access_token, comments[0].id)

unlike_comment

unlike_comment(
    client: AsyncClient,
    access_token: str,
    comment_id: UUID,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> int

Удалить лайк с комментария.

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

comment_id

UUID комментария

TYPE: UUID

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RETURNS DESCRIPTION
int

Лайков на комментарии

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

комментарий не найден

Examples:

from httpx import AsyncClient
from aioitd.api import refresh, get_posts_by_user, like_comment, get_post_comments, delete_like_comment

refresh_token = "ВАШ ТОКЕН"

async def main():
    async with AsyncClient() as client:
        access_token = await refresh(client, refresh_token)
        _, posts = await get_posts_by_user(client, access_token, 'nowkie')
        _, comments = await get_post_comments(client, access_token, posts[0].id)
        await like_comment(client, access_token, comments[0].id)
        await delete_like_comment(client, access_token, comments[0].id)

get_comment_replies

get_comment_replies(
    client: AsyncClient,
    access_token: str,
    comment_id: UUID,
    limit: int = 100,
    page: int = 1,
    domain: str = "xn--d1ah4a.com",
    **kwargs,
) -> tuple[PagePagination, list[Reply]]

Получить ответы на комментарий.

PARAMETER DESCRIPTION
client

httpx.AsyncClient

TYPE: AsyncClient

access_token

access токен

TYPE: str

comment_id

UUID комментария

TYPE: UUID

limit

максимальное количество ответов на странице

TYPE: int DEFAULT: 100

page

номер страницы

TYPE: int DEFAULT: 1

domain

домен

TYPE: str DEFAULT: 'xn--d1ah4a.com'

RETURNS DESCRIPTION
tuple[PagePagination, list[Reply]]

Ответы на комментарий

RAISES DESCRIPTION
UnauthorizedError

ошибка авторизации

NotFoundError

комментарий не найден

ParamsValidationError

1 <= limit <= 100

ParamsValidationError

page >= 1