- macOS, Linux
- Swift 4.0
Edit your Podfile to add this dependency:
platform:osx,'10.11'target'yourappnamehere'douse_frameworks!pod'SwordRPC'endimport SwordRPC
/// Additional arguments:
/// handlerInterval: Int = 1000 (decides how fast to check discord for updates, 1000ms = 1s)
/// autoRegister: Bool = true (automatically registers your application to discord's url scheme (discord-appid://))
/// steamId: String? = nil (this is for steam games on these platforms)
letrpc=SwordRPC(appId:"123")
rpc.onConnect{ rpc invarpresence=RichPresence()
presence.details ="Ranked | Mode: \(mode)"
presence.state ="In a Group"
presence.timestamps.start =Date()
presence.timestamps.end =Date()+600 // 600s = 10m
presence.assets.largeImage ="map1"
presence.assets.largeText ="Map 1"
presence.assets.smallImage ="character1"
presence.assets.smallText ="Character 1"
presence.party.max =5
presence.party.size =3
presence.party.id ="partyId"
presence.secrets.match ="matchSecret"
presence.secrets.join ="joinSecret"
presence.secrets.joinRequest ="joinRequestSecret"
rpc.setPresence(presence)}
rpc.onDisconnect{ rpc, code, msg inprint("It appears we have disconnected from Discord")}
rpc.onError{ rpc, code, msg inprint("It appears we have discovered an error!")}
rpc.onJoinGame{ rpc, secret inprint("We have found us a join game secret!")}
rpc.onSpectateGame{ rpc, secret inprint("Our user wants to spectate!")}
rpc.onJoinRequest{ rpc, request, secret inprint("Some user wants to play with us!")print(request.username)print(request.avatar)print(request.discriminator)print(request.userId)
rpc.reply(to: request, with:.yes) // or .no or .ignore
}
rpc.connect()import SwordRPC
classViewController{overridefunc viewDidLoad(){letrpc=SwordRPC(appId:"123")
rpc.delegate =self
rpc.connect()}}extensionViewController:SwordRPCDelegate{func swordRPCDidConnect(
_ rpc:SwordRPC){}func swordRPCDidDisconnect(
_ rpc:SwordRPC,
code:Int?,
message msg:String?){}func swordRPCDidReceiveError(
_ rpc:SwordRPC,
code:Int,
message msg:String){}func swordRPCDidJoinGame(
_ rpc:SwordRPC,
secret:String){}func swordRPCDidSpectateGame(
_ rpc:SwordRPC,
secret:String){}func swordRPCDidReceiveJoinRequest(
_ rpc:SwordRPC,
request:JoinRequest,
secret:String){}}Join the API Channel to ask questions!