MediaSharer.send()

room 방에 파일을 보냅니다. 파일이 준비되기를 기다리지 않고 바로 반환하며, 전송 결과는 반환값으로 전달됩니다.

구문

JavaScript

MediaSharer.send(room, files);
MediaSharer.send(room, files, options);

매개변수

room Message | ChatRoom | String | BigInt

파일을 보낼 방. Message 객체, ChatRoom 객체, 방의 ID 또는 메시지를 수신한 적이 있는 방의 이름을 사용할 수 있습니다.

files Any | Any[]

보낼 파일. 파일 경로, http(s) URL, data URL, base64:로 시작하는 Base64 문자열, Java byte[], Uint8Array, ArrayBuffer, android.graphics.Bitmap(예: msg.image) 또는 이들의 배열을 사용할 수 있습니다. 파일의 형식은 내용으로 판별합니다. 상대 경로는 프로젝트의 디렉터리를 기준으로 합니다.

options Object 선택적

전송 옵션

기본값
null

반환값

Promise<MediaSendResult> - 전송 결과에 대한 MediaSendResult 객체로 이행되는 Promise를 반환합니다. Rhino 프로젝트에서는 java.util.concurrent.CompletableFuture를 반환하며, join()으로 결과를 기다릴 수 있습니다. 전송에 실패해도 에러를 throw하지 않으며, 결과의 ok가 false가 됩니다.

예제

NeonJS 프로젝트에서 사용하는 예제입니다.

JavaScript

export async function onMessage(msg) {
  if (msg.message !== "!고양이") return;

  const result = await MediaSharer.send(msg, "https://example.com/cat.jpg", { leave: "home" });
  if (!result.ok)
    msg.room.send("전송 실패: " + result.error);
}