Layer 220
method Users Bots Business

Parameters

Name Type Description
Flags # Flags, see TL conditional fields
BusinessConnectionId flags.0?string Whether the media will be used only in the specified business connection, and not directly by the bot.
Peer InputPeer The chat, can be input Peer Empty for bots and input Peer Self for users.
Media InputMedia File uploaded in chunks as described in files

Returns

MessageMedia

Possible Errors

Code Type Description
400 CHANNEL_INVALID The provided channel is invalid.
400 CHANNEL_PRIVATE You haven't joined this channel/supergroup.
400 CHAT_ADMIN_REQUIRED You must be an admin in this chat to do this.
400 CHAT_ID_INVALID The provided chat id is invalid.
400 CHAT_RESTRICTED You can't send messages in this chat, you were restricted.
403 CHAT_WRITE_FORBIDDEN You can't write in this chat.
400 FILE_PARTS_INVALID The number of file parts is invalid.
400 FILE_PART_LENGTH_INVALID The length of a file part is invalid.
400 IMAGE_PROCESS_FAILED Failure while processing image.
400 INPUT_USER_DEACTIVATED The specified user was deleted.
400 MEDIA_INVALID Media invalid.
400 MSG_ID_INVALID Invalid message ID provided.
400 PEER_ID_INVALID The provided peer id is invalid.
400 PHOTO_EXT_INVALID The extension of the photo is invalid.
400 PHOTO_INVALID_DIMENSIONS The photo dimensions are invalid.
400 PHOTO_SAVE_FILE_INVALID Internal issues, try again later.
400 USER_BANNED_IN_CHANNEL You're banned from sending messages in supergroups/channels.
400 VOICE_MESSAGES_FORBIDDEN This user's privacy settings forbid you from sending voice messages.
400 WEBPAGE_CURL_FAILED Failure while fetching the webpage with c URL.

Gogram Example

// MessagesUploadMedia - using Params struct
result, err := client.MessagesUploadMedia(&tg.MessagesUploadMediaParams{
    Peer: &tg.InputPeerUser{UserID: int64(123456789)},
    Media: &tg.InputMediaPhoto{ID: &tg.InputPhoto{ID: int64(0), AccessHash: int64(0), FileReference: []byte{}}},

    // Optional fields:
    // BusinessConnectionId: "...",
})
if err != nil {
    // handle error
}
// result is *tg.MessageMedia