Нужна помощь с библиотекой TeleSharp (Telegram api)

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
Подскажите пожалуйста куда необходимо добавить переменную 'dialogs' ?? , какой бы код со статьи я не выполнял все время получаю ошибку.

Компиляция кода Ошибка в действии "CS0103" "The name 'dialogs' does not exist in the current context". [Строка: 2; Cтолбец: 16]

Тема откуда взят код.

C#:
var client = project.Context["client"];
var channels = dialogs.Chats.OfType<TeleSharp.TL.TLChannel>();
foreach (TeleSharp.TL.TLChannel channel in channels)
{
    if (channel.Left)
        continue;

    project.SendInfoToLog("Отписываемся от канала: " + channel.Username);

    // Запрос отписаться от канала/супергруппы
    var req = new TeleSharp.TL.Channels.TLRequestLeaveChannel
    {
        Channel = new TeleSharp.TL.TLInputChannel
        {
            AccessHash = channel.AccessHash.Value,
            ChannelId = channel.Id
        }
    };
    var resultLeave = client.SendRequest<TeleSharp.TL.TLUpdates>(req);
}
 

Ахилес

Client
Read only
Регистрация
11.11.2020
Сообщения
956
Благодарностей
392
Баллы
63

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
где то в середине статьи есть упоминание...

Посмотреть вложение 119454
Таакс.. Вот код вставил из темы автора. Все равно получаю ошибку


C#:
// Получаем диалоги только с юзерами
var dialogUsers = dialogs.Dialogs.OfType<TeleSharp.TL.TLDialog>().Where(x => x.Peer is TeleSharp.TL.TLPeerUser);
project.SendInfoToLog("Диалогов с юзерами: " + dialogUsers.Count());

// Перебираем диалоги и достаем расширенную инфу по ним
foreach (var dialogUser in dialogUsers)
{
    var dialogUserPeer = (TeleSharp.TL.TLPeerUser)dialogUser.Peer;
    // Получаем юзера из Users, согласно нашему диалогу. Ищем по Id Peer'a
    var user = dialogs.Users.OfType<TeleSharp.TL.TLUser>().FirstOrDefault(x => x.Id == dialogUserPeer.UserId);

    if (user != null)
    {
        // Ищем его последнее сообщение
        var messageUser = dialogs.Messages.OfType<TeleSharp.TL.TLMessage>().Where(x => x.PeerId is TeleSharp.TL.TLPeerUser).Where(x => ((TeleSharp.TL.TLPeerUser)x.PeerId).UserId == user.Id).FirstOrDefault(x => x.Id == dialogUser.TopMessage);

        if (messageUser != null)
        {
            // Готовим сообщение
            var textMessage = messageUser.Message.Replace("\n", " ".Trim());
            if (textMessage.Length > 29)
                textMessage = textMessage.Substring(0, 29) + "..."; // Обрезаем длинное сообщение

            // Готовим дату сообщения
            var dateMessage = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc).AddSeconds(messageUser.Date).ToLocalTime();

            // Формируем строку вывода
            var resultText = String.Format("Диалог юзера: {0} {1}. Не прочитано сообщений: {2}. Дата сообщения: {3}. Превью последнего сообщения: {4}", user.FirstName, user.LastName, dialogUser.UnreadCount, dateMessage.ToString("g"), textMessage);
            project.SendInfoToLog(resultText);
        }
    }
}
 

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
Обьясните пожалуйста, почему я получаю такую ошибку?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)