Пример #1
0
        //private string GetFromLabel(TLMessage message, string title)
        //{
        //    return GetFromLabelInternal(message, title) + Environment.NewLine;
        //}

        private string GetFromLabel(TLMessage message, string title)
        {
            if (!string.IsNullOrWhiteSpace(title))
            {
                if (title.Equals("forward"))
                {
                    if (message.FwdFromChannel is TLChannel channel)
                    {
                        return(channel.Title);
                    }
                    else if (message.FwdFromUser is TLUser user)
                    {
                        return(user.FullName);
                    }
                }
                else
                {
                    return(title);
                }
            }

            if (message.IsPost && (message.ToId is TLPeerChat || message.ToId is TLPeerChannel))
            {
                return(message.Parent?.DisplayName ?? string.Empty);
            }
            else if (message.IsSaved() && message.FwdFromUser is TLUser user)
            {
                return(user.FullName);
            }

            var from = message.From?.FullName ?? string.Empty;

            if (message.ViaBot != null && message.FwdFrom == null)
            {
                from += $" via @{message.ViaBot.Username}";
            }

            return(from);
        }