Completed
Push — master ( b03e4f...bb3ad1 )
by Camilo
02:00
created

SetChatPhoto   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 28
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A bindToObject() 0 4 1
A getMandatoryFields() 0 7 1
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace unreal4u\TelegramAPI\Telegram\Methods;
6
7
use Psr\Log\LoggerInterface;
8
use unreal4u\TelegramAPI\Abstracts\TelegramMethods;
9
use unreal4u\TelegramAPI\Abstracts\TelegramTypes;
10
use unreal4u\TelegramAPI\InternalFunctionality\TelegramRawData;
11
use unreal4u\TelegramAPI\Telegram\Types\Custom\InputFile;
12
use unreal4u\TelegramAPI\Telegram\Types\Custom\ResultBoolean;
13
14
/**
15
 * Use this method to set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be
16
 * an administrator in the chat for this to work and must have the appropriate admin rights. Returns True on success
17
 *
18
 * Note: In regular groups (non-supergroups), this method will only work if the ‘All Members Are Admins’ setting is off
19
 * in the target group
20
 *
21
 * Objects defined as-is july 2017
22
 *
23
 * @see https://core.telegram.org/bots/api#setchatphoto
24
 */
25
class SetChatPhoto extends TelegramMethods
26
{
27
    /**
28
     * Unique identifier for the target chat or username of the target supergroup or channel (in the format
29
     * @channelusername)
30
     * @var string
31
     */
32
    public $chat_id = '';
33
34
    /**
35
     * New chat photo, uploaded using multipart/form-data
36
     * @var InputFile
37
     */
38
    public $photo;
39
40
    public static function bindToObject(TelegramRawData $data, LoggerInterface $logger): TelegramTypes
41
    {
42
        return new ResultBoolean($data->getResultBoolean(), $logger);
43
    }
44
45
    public function getMandatoryFields(): array
46
    {
47
        return [
48
            'chat_id',
49
            'photo',
50
        ];
51
    }
52
}
53