public async Task AddUserUpdate(int userId, TLAbsUpdate update)
        {
            if (this.userUpdates == null)
            {
                this.userUpdates = new Dictionary <int, List <TLAbsUpdate> >();
            }
            if (!this.userUpdates.ContainsKey(userId))
            {
                this.userUpdates.Add(userId, new List <TLAbsUpdate>());
            }
            this.userUpdates[userId].Add(update);


            await Task.CompletedTask;
        }
示例#2
0
        private async Task UpdateNewMessage(IUpdateProcessingContext context, TLAbsUpdate update, ProcessUpdate next)
        {
            var newMessageUpdate = update as TLUpdateNewMessage;

            var message = newMessageUpdate?.Message as MTProto.NET.Schema.Layer72.TLMessage;
            var user    = message?.ToId as TLPeerUser;

            if (user != null)
            {
                var _update = new TLUpdateNewMessage()
                {
                    Message = message
                };
                await context.AddUserUpdate(user.UserId, _update);

                return;
            }
            await next(context, update, next);
        }
示例#3
0
 public virtual void setUpdate(TLAbsUpdate update)
 {
     this.update = update;
 }
示例#4
0
 public override void DeserializeBody(BinaryReader br)
 {
     update = (TLAbsUpdate)ObjectUtils.DeserializeObject(br);
     date = br.ReadInt32();
 }
示例#5
0
 public override void deserializeBody(InputStream stream, TLContext context)
 {
     this.update = StreamingUtils.readTLObject(stream, context);
     this.date   = StreamingUtils.readInt(stream);
 }