try
{
var client = project.Context["client"];
// Название чата, для которого вы хотите получить сообщения
string chatName = "НАЗВАНИЕ ЧАТА";
// Создание запроса на поиск чата по названию
var requestSearch = new TeleSharp.TL.Messages.TLRequestSearch()
{
Q = chatName,
Filter = new TeleSharp.TL.TLInputMessagesFilterChatPhotos(),
MinDate = 0,
MaxDate = 0,
OffsetId = 0,
AddOffset = 0,
Limit = 10,
MaxId = 0,
MinId = 0,
FromId = new TeleSharp.TL.TLInputPeerEmpty(),
Peer = new TeleSharp.TL.TLInputPeerEmpty(),
Hash = 0
};
// Отправка запроса на сервер Telegram
var responseSearch = client.SendRequest<TeleSharp.TL.Messages.TLAbsMessages>(requestSearch);
// Проверка успешности запроса
if (responseSearch is TeleSharp.TL.Messages.TLMessages)
{
// Получение списка найденных объектов (сообщений, чатов, пользователей и т. д.)
var messages = (TeleSharp.TL.Messages.TLMessages)responseSearch;
// Поиск чата среди найденных объектов
var foundChat = messages.Chats.OfType<TeleSharp.TL.TLChat>().FirstOrDefault(c => c.Title == chatName);
if (foundChat != null)
{
// Создание запроса на получение истории сообщений для найденного чата
var requestHistory = new TeleSharp.TL.Messages.TLRequestGetHistory()
{
Peer = new TeleSharp.TL.TLInputPeerChat() { ChatId = foundChat.Id },
Limit = 50, // Ограничение на количество сообщений
AddOffset = 0, // Дополнительное смещение (если не требуется, оставьте 0)
OffsetDate = 0, // Смещение даты (если не требуется, оставьте 0)
OffsetId = 0, // Смещение идентификатора (если не требуется, оставьте 0)
MaxId = 0, // Максимальный идентификатор сообщения (если не требуется, оставьте 0)
MinId = 0, // Минимальный идентификатор сообщения (если не требуется, оставьте 0)
Hash = 0 // Хэш (если не требуется, оставьте 0)
};
// Отправка запроса на сервер Telegram
var responseHistory = client.SendRequest<TeleSharp.TL.Messages.TLAbsMessages>(requestHistory);
// Проверка успешности запроса
if (responseHistory is TeleSharp.TL.Messages.TLMessages)
{
// Получение списка сообщений
var historyMessages = (TeleSharp.TL.Messages.TLMessages)responseHistory;
// Обработка полученных сообщений
foreach (var message in historyMessages.Messages)
{
// Доступ к тексту сообщения
string messageText = (message as TeleSharp.TL.TLMessage)?.Message;
// Действия с каждым сообщением (например, вывод в лог)
project.SendInfoToLog("Сообщение: " + messageText);
}
}
}
else
{
project.SendErrorToLog("Чат с названием " + chatName + " не найден.", true);
}
}
}
catch (Exception e)
{
// Обработка исключений (например, отправка сообщения об ошибке в лог)
project.SendErrorToLog(e.Message, true);
}