Cluster · разработчикам

Album

Альбом из 2..10 элементов. Можно сочетать фото и видео либо отправить только аудио или только документы.

Все методы SDK · Типы и ошибки

Получение объекта

album = app.album(ctx)

Для send() добавлены 2..10 совместимых вложений. message() и close() используют уже отправленный альбом.

__init__

Создаёт Album. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

def __init__(app: App, context: Event | int | None = None, source: str | None = None) -> None: ...

Аргументы

Результат

None. Создаёт Album. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

# Обычный способ получения объекта:
album = app.album(ctx)

add

Добавляет Media или описание файла до отправки альбома.

def add(media: Media | str | bytes, kind: str = 'photo', caption: str | Text = '', **data: JSON) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Добавляет Media или описание файла до отправки альбома.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = album.add("file-id", parse_mode="HTML")

remove

Удаляет элемент до отправки и возвращает объект Media.

def remove(index: int) -> Media: ...

Аргументы

Результат

Media. Удаляет элемент до отправки и возвращает объект Media.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = album.remove(0)

move

Перемещает элемент между существующими позициями до отправки.

def move(index: int, target: Module) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Перемещает элемент между существующими позициями до отправки.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = album.move(0, app.modules("dependency-id"))

sort

Сортирует элементы до отправки по key либо подписи без учёта регистра.

def sort(key: Callable | None = None, reverse: bool = False) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Сортирует элементы до отправки по key либо подписи без учёта регистра.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = album.sort()

send

Отправляет совместимые вложения через Telegram или личного бота. Приватные альбомы внутри групп не поддерживаются Telegram.

async def send(chat: int | None = None, **options: JSON) -> Self: ...

Аргументы

Результат

Self. Тот же объект после успешной операции. Отправляет совместимые вложения через Telegram или личного бота. Приватные альбомы внутри групп не поддерживаются Telegram.

Права

Нужны telegram.send либо bot.send по source; files.read для готового вложения; files.write при загрузке bytes; при зарегистрированных кнопках дополнительно bot.send. Для чужих файлов своего юзербота дополнительно files.full либо отдельное разрешение конфигурационного файла на чтение.

Ошибки

Пример

result = await album.send(parse_mode="HTML")

message

Возвращает и кэширует объект отдельного сообщения отправленного альбома для редактирования или удаления.

def message(index: int) -> Message: ...

Аргументы

Результат

Message. Возвращает и кэширует объект отдельного сообщения отправленного альбома для редактирования или удаления.

Права

Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.

Ошибки

Пример

result = album.message(0)

close

Удаляет ещё не удалённые сообщения отправленного альбома. При частичной ошибке повторный вызов продолжает с оставшихся.

async def close() -> bool: ...

Аргументы

Нет.

Результат

bool. Удаляет ещё не удалённые сообщения отправленного альбома. При частичной ошибке повторный вызов продолжает с оставшихся.

Права

Нужны telegram.send либо bot.send по source; files.read для готового вложения; files.write при загрузке bytes; при зарегистрированных кнопках дополнительно bot.send. Для чужих файлов своего юзербота дополнительно files.full либо отдельное разрешение конфигурационного файла на чтение.

Ошибки

Пример

result = await album.close()