1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 namespace communication_matrix\local\spec\features\matrix; 18 19 use communication_matrix\local\command; 20 use GuzzleHttp\Psr7\Response; 21 22 /** 23 * Matrix API feature to update a room topic. 24 * 25 * https://spec.matrix.org/v1.1/client-server-api/#put_matrixclientv3roomsroomidstateeventtypestatekey 26 * 27 * @package communication_matrix 28 * @copyright 2023 Andrew Lyons <andrew@nicols.co.uk> 29 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 30 * @codeCoverageIgnore 31 * This code does not warrant being tested. Testing offers no discernible benefit given its usage is tested. 32 */ 33 trait update_room_topic_v3 { 34 /** 35 * Set the topic for a room. 36 * 37 * @param string $roomid 38 * @param string $topic 39 * @return Response 40 */ 41 public function update_room_topic(string $roomid, string $topic): Response { 42 $params = [ 43 ':roomid' => $roomid, 44 'topic' => $topic, 45 ]; 46 47 return $this->execute(new command( 48 $this, 49 method: 'PUT', 50 endpoint: '_matrix/client/v3/rooms/:roomid/state/m.room.topic', 51 params: $params, 52 )); 53 } 54 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body