MadelineProto/old_docs/API_docs_v44/methods/messages_getDocumentByHash.md

82 lines
1.8 KiB
Markdown
Raw Normal View History

---
2017-01-19 23:02:27 +01:00
title: messages.getDocumentByHash
description: messages.getDocumentByHash parameters, return type and example
---
2017-01-19 23:02:27 +01:00
## Method: messages.getDocumentByHash
[Back to methods index](index.md)
### Parameters:
| Name | Type | Required |
2017-08-20 11:05:56 +02:00
|----------|---------------|----------|
|sha256|[bytes](../types/bytes.md) | Yes|
|size|[int](../types/int.md) | Yes|
|mime\_type|[string](../types/string.md) | Yes|
### Return type: [Document](../types/Document.md)
2017-08-28 12:44:50 +02:00
### Can bots use this method: **YES**
2017-11-03 17:39:50 +01:00
### Errors this method can return:
| Error | Description |
|----------|---------------|
|SHA256_HASH_INVALID|The provided SHA256 hash is invalid|
### Example:
```
$MadelineProto = new \danog\MadelineProto\API();
2017-12-11 12:12:38 +01:00
$MadelineProto->session = 'mySession.madeline';
if (isset($token)) { // Login as a bot
2017-06-19 18:56:47 +02:00
$MadelineProto->bot_login($token);
}
if (isset($number)) { // Login as a user
2017-12-11 12:12:38 +01:00
$MadelineProto->phone_login($number);
$code = readline('Enter the code you received: '); // Or do this in two separate steps in an HTTP API
$MadelineProto->complete_phone_login($code);
}
2017-07-23 16:33:46 +02:00
$Document = $MadelineProto->messages->getDocumentByHash(['sha256' => 'bytes', 'size' => int, 'mime_type' => 'string', ]);
2017-02-13 04:33:06 +01:00
```
2017-07-24 01:32:29 +02:00
Or, if you're using the [PWRTelegram HTTP API](https://pwrtelegram.xyz):
2017-07-23 16:11:02 +02:00
### As a bot:
POST/GET to `https://api.pwrtelegram.xyz/botTOKEN/madeline`
Parameters:
* method - messages.getDocumentByHash
2017-07-23 16:40:54 +02:00
* params - `{"sha256": "bytes", "size": int, "mime_type": "string", }`
2017-07-23 16:11:02 +02:00
2017-07-23 16:34:36 +02:00
2017-07-23 16:11:02 +02:00
### As a user:
POST/GET to `https://api.pwrtelegram.xyz/userTOKEN/messages.getDocumentByHash`
Parameters:
sha256 - Json encoded bytes
2017-08-20 19:09:52 +02:00
2017-07-23 16:11:02 +02:00
size - Json encoded int
2017-08-20 19:09:52 +02:00
2017-07-23 16:11:02 +02:00
mime_type - Json encoded string
2017-07-23 16:40:54 +02:00
2017-07-23 16:11:02 +02:00
2017-08-20 19:09:52 +02:00
Or, if you're into Lua:
```
2017-07-23 16:33:46 +02:00
Document = messages.getDocumentByHash({sha256='bytes', size=int, mime_type='string', })
```