Esempio n. 1
0
        public async Task <string> ToJson()
        {
            if (Logger.IsEnabled(LogLevel.Trace))
            {
                Logger.LogTrace($"toJSON()");
            }
            var payload = await Puppet.GetRoomInvitationPayload(Id);

            return(JsonConvert.SerializeObject(payload));
        }
Esempio n. 2
0
        public async Task <DateTime> Date()
        {
            if (Logger.IsEnabled(LogLevel.Trace))
            {
                Logger.LogTrace($"date()");
            }
            var payload = await Puppet.GetRoomInvitationPayload(Id);

            return(payload.Timestamp.TimestampToDateTime());
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
 /// <summary>
 /// Get the room topic from room invitation
 /// </summary>
 /// <returns></returns>
 public async Task <string> Topic() => (await Puppet.GetRoomInvitationPayload(Id)).Topic ?? "";
Esempio n. 7
0
        /// <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}>");
        }