1: <?php
2:
3: /**
4: * Copyright 2016 LINE Corporation
5: *
6: * LINE Corporation licenses this file to you under the Apache License,
7: * version 2.0 (the "License"); you may not use this file except in compliance
8: * with the License. You may obtain a copy of the License at:
9: *
10: * https://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14: * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15: * License for the specific language governing permissions and limitations
16: * under the License.
17: */
18:
19: namespace LINE\LINEBot\TemplateActionBuilder;
20:
21: use LINE\LINEBot\Constant\ActionType;
22: use LINE\LINEBot\TemplateActionBuilder;
23:
24: /**
25: * A builder class for message action.
26: *
27: * @package LINE\LINEBot\TemplateActionBuilder
28: */
29: class MessageTemplateActionBuilder implements TemplateActionBuilder
30: {
31: /** @var string */
32: private $label;
33: /** @var string */
34: private $text;
35:
36: /**
37: * MessageAction constructor.
38: *
39: * @param string $label Label of action.
40: * @param string $text Text of message.
41: */
42: public function __construct($label, $text)
43: {
44: $this->label = $label;
45: $this->text = $text;
46: }
47:
48: /**
49: * Builds message action structure.
50: *
51: * @return array Built message action structure.
52: */
53: public function buildTemplateAction()
54: {
55: return [
56: 'type' => ActionType::MESSAGE,
57: 'label' => $this->label,
58: 'text' => $this->text,
59: ];
60: }
61: }
62: