InlineQueryResultAudioType   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 74
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
eloc 18
dl 0
loc 74
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A create() 0 16 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace TgBotApi\BotApiBase\Type\InlineQueryResult;
6
7
use TgBotApi\BotApiBase\Method\Interfaces\HasParseModeVariableInterface;
8
use TgBotApi\BotApiBase\Method\Traits\FillFromArrayTrait;
9
use TgBotApi\BotApiBase\Type\InputMessageContent\InputMessageContentType;
10
use TgBotApi\BotApiBase\Type\Traits\CaptionEntitiesFieldTrait;
11
12
/**
13
 * Class InlineQueryResultAudio.
14
 *
15
 * @see https://core.telegram.org/bots/api#inlinequeryresultaudio
16
 */
17
class InlineQueryResultAudioType extends InlineQueryResultType implements HasParseModeVariableInterface
18
{
19
    use CaptionEntitiesFieldTrait;
20
    use FillFromArrayTrait;
21
22
    /**
23
     * A valid URL for the audio file.
24
     *
25
     * @var string
26
     */
27
    public $audioUrl;
28
29
    /**
30
     * Title.
31
     *
32
     * @var string
33
     */
34
    public $title;
35
36
    /**
37
     * Optional. Caption, 0-1024 characters.
38
     *
39
     * @var string|null
40
     */
41
    public $caption;
42
43
    /**
44
     * Optional. Send Markdown or HTML, if you want Telegram apps to show bold, italic,
45
     * fixed-width text or inline URLs in the media caption.
46
     *
47
     * @var string|null
48
     */
49
    public $parseMode;
50
51
    /**
52
     * Optional. Performer.
53
     *
54
     * @var string|null
55
     */
56
    public $performer;
57
58
    /**
59
     * Optional. Audio duration in seconds.
60
     *
61
     * @var int|null
62
     */
63
    public $audioDuration;
64
65
    /**
66
     * Optional. Content of the message to be sent instead of the audio.
67
     *
68
     * @var InputMessageContentType|null
69
     */
70
    public $inputMessageContent;
71
72
    /**
73
     * @throws \TgBotApi\BotApiBase\Exception\BadArgumentException
74
     */
75 1
    public static function create(
76
        string $id,
77
        string $audioUrl,
78
        string $title,
79
        array $data = null
80
    ): InlineQueryResultAudioType {
81 1
        $instance = new static();
82 1
        $instance->type = self::TYPE_AUDIO;
83 1
        $instance->id = $id;
84 1
        $instance->audioUrl = $audioUrl;
85 1
        $instance->title = $title;
86 1
        if ($data) {
87 1
            $instance->fill($data);
88
        }
89
90 1
        return $instance;
91
    }
92
}
93