с# Telegram API, TgSharp Получить текст сообщения с форматированием
С помощью библиотеки TgSharp могу получить пост на канале:`
TLChannelMessages resp = (TLChannelMessages)await client.GetHistoryAsync(new TLInputPeerChannel()
{
ChannelId = project.channel.Id,
AccessHash = project.channel.AccessHash ?? 0,
}, limit: 10);
var msgs = resp.Messages;
TLMessage lastMessage = (TLMessage)resp.Messages?.Where(x => x is TLMessage).First();
var Message = lastMessage.Message; // Текст поста
Пример поста текст которого я хочу получить:
Текст я получаю без форматирования (курсив, жирный шрифт). Как можно сохранить текст с исходным форматированием?
Спасибо!
Ответы (1 шт):
Автор решения: WyWyWy
→ Ссылка
Разобрался, может кому-то будет полезно:
Получаем посты, lastMessage - последний опубликованый пост:
TLChannelMessages resp = (TLChannelMessages)await client.GetHistoryAsync(new TLInputPeerChannel()
{
ChannelId = project.channel.Id,
AccessHash = project.channel.AccessHash ?? 0,
}, limit: 10);
var msgs = resp.Messages;
TLMessage lastMessage = (TLMessage)resp.Messages?.Where(x => x is TLMessage).First();
var Message = lastMessage.Message; // Текст поста
var Entities = lastMessage.Entities;
}
var Entities = lastMessage.Entities;
foreach (var Entitie in Entities)
switch (Entitie)
{
case TLMessageEntityBold Bold:
MessageBox.Show(lastMessage.Message.Substring(Bold.Offset, Bold.Length));
break;
case TLMessageEntityItalic Italic:
MessageBox.Show(lastMessage.Message.Substring(Italic.Offset, Italic.Length));
break;
}
