public async Task <string> ToJson() { if (Logger.IsEnabled(LogLevel.Trace)) { Logger.LogTrace($"toJSON()"); } var payload = await Puppet.GetRoomInvitationPayload(Id); return(JsonConvert.SerializeObject(payload)); }
public async Task <DateTime> Date() { if (Logger.IsEnabled(LogLevel.Trace)) { Logger.LogTrace($"date()"); } var payload = await Puppet.GetRoomInvitationPayload(Id); return(payload.Timestamp.TimestampToDateTime()); }
/// <summary> /// member count of current <see cref="RoomInvitation"/> /// </summary> /// <returns></returns> public async Task <double> MemberCount() { if (Logger.IsEnabled(LogLevel.Trace)) { Logger.LogTrace($"memberCount()"); } var payload = await Puppet.GetRoomInvitationPayload(Id); return(payload.MemberCount); }
/// <summary> /// Get the inviter from room invitation /// </summary> /// <returns></returns> public async Task <Contact> Inviter() { if (Logger.IsEnabled(LogLevel.Trace)) { Logger.LogTrace($"inviter()"); } var payload = await Puppet.GetRoomInvitationPayload(Id); var inviter = WechatyInstance.Contact.Load(payload.InviterId); return(inviter); }
public async Task <IReadOnlyList <Contact> > MemberList() { if (Logger.IsEnabled(LogLevel.Trace)) { Logger.LogTrace($"roomMemberList()"); } var payload = await Puppet.GetRoomInvitationPayload(Id); var list = payload.MemberIdList.Select(id => WechatyInstance.Contact.Load(id)); await Task.WhenAll(list.Select(c => c.Ready())); return(list.ToImmutableList()); }
/// <summary> /// Get the room topic from room invitation /// </summary> /// <returns></returns> public async Task <string> Topic() => (await Puppet.GetRoomInvitationPayload(Id)).Topic ?? "";
/// <summary> /// to string async /// </summary> /// <returns></returns> public async Task <string> ToStringAsync() { var payload = await Puppet.GetRoomInvitationPayload(Id); return($"RoomInvitation#{Id}<{payload.Topic},{payload.InviterId}>"); }