Files

56 lines
1.6 KiB
C#
Raw Permalink Normal View History

2022-01-21 14:18:56 +02:00
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using File = Telegram.Bot.Types.File;
using TgUser = Telegram.Bot.Types.User;
2022-01-21 14:18:56 +02:00
namespace West.TelegramBot.ChatQuotes.Model.Quote;
[JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
public class Message
{
public List<File>? Media { get; set; }
public MediaType? MediaType { get; set; }
public long ChatId { get; set; }
public bool Avatar { get; set; } = true;
public User? From { get; set; }
public string? Text { get; set; }
public Telegram.Bot.Types.Message? ReplyMessage { get; set; }
public static Message FromMessage(Telegram.Bot.Types.Message msg)
{
var quoteMessage = new Message();
if (msg.Text != null)
{
quoteMessage.Text = msg.Text;
}
var sticker = msg.Sticker;
if (sticker != null)
{
var file = new File
{
FileId = sticker.FileId,
FileSize = sticker.FileSize,
FileUniqueId = sticker.FileUniqueId
};
quoteMessage.Media = new List<File> { file };
quoteMessage.MediaType = Quote.MediaType.Sticker;
}
TgUser? user = null;
if (msg.ForwardSenderName != null && msg.ForwardFrom == null)
{
user = new TgUser
{
FirstName = msg.ForwardSenderName
};
}
quoteMessage.ChatId = msg.From?.Id ?? msg.Chat.Id;
2022-01-21 14:18:56 +02:00
quoteMessage.ReplyMessage = msg.ReplyToMessage;
quoteMessage.From = User.FromTgUser(user ?? msg.ForwardFrom ?? msg.From!);
2022-01-21 14:18:56 +02:00
return quoteMessage;
}
}