mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Serialization;
|
|
using File = Telegram.Bot.Types.File;
|
|
|
|
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;
|
|
}
|
|
|
|
quoteMessage.ChatId = msg.Chat.Id;
|
|
quoteMessage.ReplyMessage = msg.ReplyToMessage;
|
|
quoteMessage.From = User.FromTgUser(msg.From!);
|
|
|
|
return quoteMessage;
|
|
}
|
|
} |