Copy
package com.example.mms
import com.google.protobuf.ByteString
import com.wgtwo.api.v0.common.PhoneNumberProto
import com.wgtwo.api.v0.mms.MmsProto
import com.wgtwo.api.v0.mms.MmsServiceGrpc
import io.grpc.ManagedChannelBuilder
fun main() {
val phoneNumber = "+47xxxxxxxx" // Target your desired user
val channel = ManagedChannelBuilder.forAddress("sandbox.api.shamrock.wgtwo.com", 443).build()
val stub = MmsServiceGrpc.newBlockingStub(channel)
val message = with(MmsProto.SendMessageToSubscriberRequest.newBuilder()) {
val audioContent = with(MmsProto.AudioContent.newBuilder()) {
this.wav = ByteString.readFrom(
this::class.java.classLoader.getResource("test.wav")
.openStream(),
)
build()
}
addMessageContent(MmsProto.MessageContent.newBuilder().setAudio(audioContent))
this.fromTextAddress = with(PhoneNumberProto.TextAddress.newBuilder()) {
this.textAddress = "Test"
build()
}
this.toSubscriber = with(PhoneNumberProto.PhoneNumber.newBuilder()) {
this.e164 = phoneNumber
build()
}
build()
}
val result: MmsProto.SendResponse = stub.sendMessageToSubscriber(message)
if (result.status == MmsProto.SendResponse.SendStatus.SEND_OK) {
println("Successfully sent message
$result")
} else {
println(
"""
Failure to send message:
request ID= ${result.requestId}
status=${result.status}
description=${result.description}"
""".trimIndent(),
)
}
}