# Method: messages.uploadMedia

Back to methods index

Upload a file and associate it to a chat (without actually sending it to the chat)

# Parameters:

Name Type Description Required
peer Username, chat ID, Update, Message or InputPeer The chat, can be an inputPeerEmpty for bots Optional
media MessageMedia, Update, Message or InputMedia File uploaded in chunks as described in files » Optional

# Return type: MessageMedia

# Can bots use this method: YES

# MadelineProto Example (now async for huge speed and parallelism!):

if (!file_exists('madeline.php')) {
    copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php');
include 'madeline.php';

$MadelineProto = new \danog\MadelineProto\API('session.madeline');

$MessageMedia = $MadelineProto->messages->uploadMedia(['peer' => InputPeer, 'media' => InputMedia, ]);

Or, if you’re into Lua:

MessageMedia = messages.uploadMedia({peer=InputPeer, media=InputMedia, })

# Errors

Code Type Description
400 BOT_MISSING This method can only be run by a bot
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 FILE_PARTS_INVALID The number of file parts 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_SAVE_FILE_INVALID Internal issues, try again later
400 USER_BANNED_IN_CHANNEL You’re banned from sending messages in supergroups/channels
400 WEBPAGE_CURL_FAILED Failure while fetching the webpage with cURL
403 CHAT_WRITE_FORBIDDEN You can’t write in this chat
-503 Timeout Timeout while fetching data
This site uses cookies, as described in the cookie policy. By clicking on "Accept" you consent to the use of cookies.