public async Task <bool> OnHandle(MessageContext context, CSendNoteReqMessage message)
        {
            var session = context.GetSession <Session>();
            var plr     = session.Player;
            var logger  = plr.AddContextToLogger(_logger);

            logger.Debug("Send note {Message}", message);

            // ToDo use config file
            if (message.Title.Length > 100)
            {
                logger.Warning("Title is too big({Length})", message.Title.Length);
                return(true);
            }

            if (message.Message.Length > 112)
            {
                logger.Warning("Message is too big({Length})", message.Message.Length);
                return(true);
            }

            var result = await plr.Mailbox.SendAsync(message.Receiver, message.Title, message.Message);

            session.Send(new SSendNoteAckMessage(result ? 0 : 1));

            return(true);
        }
Beispiel #2
0
        public async Task CSendNoteReq(ChatSession session, CSendNoteReqMessage message)
        {
            Logger.Debug()
            .Account(session)
            .Message($"{JsonConvert.SerializeObject(message, Formatting.Indented)}")
            .Write();

            // ToDo use config file
            if (message.Title.Length > 100)
            {
                Logger.Error()
                .Account(session)
                .Message($"Title is too big({message.Title.Length})")
                .Write();
                return;
            }

            if (message.Message.Length > 112)
            {
                Logger.Error()
                .Account(session)
                .Message($"Message is too big({message.Message.Length})")
                .Write();
                return;
            }

            var result = await session.Player.Mailbox.SendAsync(message.Receiver, message.Title, message.Message);

            session.SendAsync(new SSendNoteAckMessage(result ? 0 : 1));
        }
        public async Task CSendNoteReq(ChatSession session, CSendNoteReqMessage message)
        {
            Logger.ForAccount(session)
            .Debug("Send note {message}", message);

            // ToDo use config file
            if (message.Title.Length > 100)
            {
                Logger.ForAccount(session)
                .Error("Title is too big({length})", message.Title.Length);
                return;
            }

            if (message.Message.Length > 112)
            {
                Logger.ForAccount(session)
                .Error("Message is too big({length})", message.Message.Length);
                return;
            }

            var result = await session.Player.Mailbox.SendAsync(message.Receiver, message.Title, message.Message);

            session.SendAsync(new SSendNoteAckMessage(result ? 0 : 1));
        }