InlineQueryResultVoiceType   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
eloc 17
dl 0
loc 67
ccs 0
cts 15
cp 0
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 InlineQueryResultVoiceType.
14
 *
15
 * @see https://core.telegram.org/bots/api#inlinequeryresultvoice
16
 */
17
class InlineQueryResultVoiceType extends InlineQueryResultType implements HasParseModeVariableInterface
18
{
19
    use CaptionEntitiesFieldTrait;
20
    use FillFromArrayTrait;
21
22
    /**
23
     * A valid URL for the voice recording.
24
     *
25
     * @var string
26
     */
27
    public $voiceUrl;
28
29
    /**
30
     * Recording 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. Recording duration in seconds.
53
     *
54
     * @var int|null
55
     */
56
    public $voiceDuration;
57
58
    /**
59
     * Optional. Content of the message to be sent instead of the voice recording.
60
     *
61
     * @var InputMessageContentType|null
62
     */
63
    public $inputMessageContent;
64
65
    /**
66
     * @throws \TgBotApi\BotApiBase\Exception\BadArgumentException
67
     */
68
    public static function create(
69
        string $id,
70
        string $voiceUrl,
71
        string $title,
72
        array $data = null
73
    ): InlineQueryResultVoiceType {
74
        $instance = new static();
75
        $instance->type = static::TYPE_VOICE;
76
        $instance->id = $id;
77
        $instance->voiceUrl = $voiceUrl;
78
        $instance->title = $title;
79
        if ($data) {
80
            $instance->fill($data);
81
        }
82
83
        return $instance;
84
    }
85
}
86