async def _send_room_creation(self, creation_event): params = creation_event.room_params params = params.get("matrix", params) response = await self.connection.create_room(**params) room_id = response["room_id"] if creation_event.name is not None: await self._send_room_name_set( events.RoomName(creation_event.name, target=room_id)) return room_id
async def channel_name_changed(self, event, channel): """Send a RoomName event.""" return events.RoomName( name=channel["name"], target=channel["id"], connector=self.connector, event_id=event["event_ts"], raw_event=event, )
async def create_room_name(self, event, roomid): """Send a RoomDescriptionEvent.""" return events.RoomName( name=event["content"]["name"], user=await self.connector.get_nick(roomid, event["sender"]), user_id=event["sender"], target=roomid, connector=self.connector, event_id=event["event_id"], raw_event=event, )
async def test_send_room_name_set(self): connector = ConnectorSlack({"token": "abc123"}, opsdroid=self.od) connector.slack_user.api_call = amock.CoroutineMock() await connector.send( events.RoomName(target="an-existing-room", name="my-new-room-name")) connector.slack_user.api_call.assert_called_once_with( "conversations.rename", data={ "channel": "an-existing-room", "name": "my-new-room-name" }, )
async def _send_room_creation(self, creation_event): params = creation_event.room_params params = params.get("matrix", params) response = await self.connection.room_create(**params) if isinstance(response, nio.RoomCreateError): _LOGGER.error( f"Error while creating the room. Reason: {response.message} (status code {response.status_code})" ) return room_id = response.room_id if creation_event.name is not None: await self._send_room_name_set( events.RoomName(creation_event.name, target=room_id)) return room_id
async def test_send_room_name_set(send_event): event = events.RoomName(name="new_name_room", target="room") payload, response = await send_event(CONVERSATIONS_RENAME, event) assert payload == {"name": "new_name_room", "channel": "room"} assert response["ok"]