Задать вопрос
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    Василий Банников, Ну так я пере использовал разные способы понять что именно вызывает такую агрессию со стороны системы - ответ так и не нашел.

    У меня есть прокси, есть обычный вайфай, впн, использовал по разному. Использовал купленные, использовал свои настоящие и хорошо прогретые аккаунты - результат один. Действительно немало ресурсов задействовал просто чтобы понять причину подобной реакции по отношению к моему софту.

    Просто происходит самая обычная авторизация (я блин даже от безысходности прописал задержки между этапами авторизации) — итог один
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    Василий Банников, Хорошо. Тогда зачем в этой библиотеке возможность создавать свою авторизацию юзера?

    Человек выше написал, что использует аналогичный код и у него всё работает отлично.

    У меня кроме авторизации в коде — больше никаких вызовов не происходит, просто софт подключается на аккаунт и всё - пермач.
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    Lapita12, Кстати, ещё такой вопрос есть: а ты использовал только купленные симки, или купленные в интернете номера - также? И каков результат?
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    Lapita12, ахахахах, ну да, сомнительная тема)). Слушай, а ты используешь api id & hash полученные на свой номер?
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    Lapita12, путь файла реализовывал подобным образом. Честно, сам не понимаю в чем проблема. У тебя софт на сегодняшний день рабочий и не вызывает таких проблем? За попытку помочь - спасибо
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    VoidVolker, Извините, немного позже исправлю
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    maksam07, я написал во второй части поста, что у меня есть чужой питоновский софт, в котором подобных проблем не наблюдается. Вдруг человек знающий питон и разработавший ранее свой софт - обратит внимание на этот пост и скажет что он там возможно реализовал необходимое мне.
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    Roman, Я в ответы скинул, посмотри пожалуйста, если разбираешься
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    WTelegram !

    static async Task Main()
    {
    //_FileManager.StartSearchOrCreateNeedsPath();
    //Proxy();
    //Task.Run(() => ListenHotkeys());
    //WTelegram.Helpers.Log = (lvl, str) => { };
    await InitializationMyProfile();
    }

    static string SetPhoneNumber()
    {
    Thread.Sleep(Random.Shared.Next(3000, 5000));
    if (File.Exists(PhonePath))
    {
    string phone = File.ReadAllText(PhonePath);
    return phone;
    }
    else
    {
    Console.Write("Введите номер телефона: ");
    string phone = Console.ReadLine();
    File.WriteAllText(PhonePath, phone);
    Thread.Sleep(Random.Shared.Next(2000, 4000));
    return phone;
    }
    }

    static string SetVerificationCode()
    {
    Console.WriteLine("Введите код подтверждения:");
    string code = Console.ReadLine();
    Thread.Sleep(Random.Shared.Next(2300, 4400));
    return code;
    }

    static string SetPassword2FA()
    {
    Console.WriteLine("Введите двухфакторный код:");
    string password = Console.ReadLine();
    Thread.Sleep(Random.Shared.Next(2100, 3300));
    return password;
    }

    static string? Config(string what) => what switch
    {
    "api_id" => "text",
    "api_hash" => "text",
    "phone_number" => SetPhoneNumber(),
    "verification_code" => SetVerificationCode(),
    "password" => SetPassword2FA(),
    "session_pathname" => SessionPath,
    "device_model" => Environment.MachineName,
    "system_version" => Environment.OSVersion.ToString(),
    "app_version" => "1.35.0",
    "app_platform" => "PC 64bit",
    "app_name" => "plus messenger",
    _ => null
    };

    static async Task InitializationMyProfile()
    {
    MyClient = new Client(Config);
    MyUser = await MyClient.LoginUserIfNeeded();
    }

    TDLib !

    internal class Program
    {

    private static TdApi.AuthorizationState _state = null;
    private static TdClient _client = null;
    private static volatile string _currentPrompt = null;
    private static volatile bool _haveAuthorization = false;
    private static volatile bool _needQuit = false;
    private static volatile bool _canQuit = false;
    private static readonly string _newLine = Environment.NewLine;
    private static volatile AutoResetEvent _gotAuthorization = new AutoResetEvent(false);

    static async Task Main()
    {
    Console.OutputEncoding = System.Text.Encoding.UTF8;

    _client = CreateTdClient();

    await _client.ExecuteAsync(new TdApi.SetLogVerbosityLevel { NewVerbosityLevel = 1 });

    while (!_haveAuthorization)
    {
    await Task.Delay(500);
    }

    Console.WriteLine("✅ Авторизация успешно завершена!");
    }

    private static TdClient CreateTdClient()
    {
    var client = new TdClient();

    client.UpdateReceived += async (_, update) =>
    {
    if (update is TdApi.Update updateObj)
    {
    var property = updateObj.GetType().GetProperty("AuthorizationState");
    if (property != null)
    {
    var authState = property.GetValue(updateObj) as TdApi.AuthorizationState;
    if (authState != null)
    {
    await OnAuthorizationStateUpdate(authState);
    }
    }
    }
    else
    {
    var prop = update.GetType().GetProperty("AuthorizationState");
    if (prop != null)
    {
    var authState = prop.GetValue(update) as TdApi.AuthorizationState;
    if (authState != null)
    {
    await OnAuthorizationStateUpdate(authState);
    }
    }
    }
    };

    return client;
    }

    private static string ReadLine(string str)
    {
    Console.Write(str);
    _currentPrompt = str;
    var result = Console.ReadLine();
    _currentPrompt = null;
    return result;
    }

    private static async Task OnAuthorizationStateUpdate(TdApi.AuthorizationState state)
    {
    if (state != null)
    _state = state;

    switch (_state)
    {
    case TdApi.AuthorizationState.AuthorizationStateWaitTdlibParameters:
    Console.WriteLine("Устанавливаю параметры TDLib...");
    await _client.ExecuteAsync(new TdApi.SetTdlibParameters
    {
    DatabaseDirectory = "tdlib",
    UseMessageDatabase = true,
    UseSecretChats = true,
    ApiId = text,
    ApiHash = "text",
    SystemLanguageCode = "en",
    DeviceModel = "Desktop",
    ApplicationVersion = "1.0"
    });
    break;

    case TdApi.AuthorizationState.AuthorizationStateWaitPhoneNumber:
    string phone = ReadLine("Введите номер телефона: ");
    await _client.ExecuteAsync(new TdApi.SetAuthenticationPhoneNumber
    {
    PhoneNumber = phone
    });
    break;

    case TdApi.AuthorizationState.AuthorizationStateWaitCode:
    string code = ReadLine("Введите код из Telegram: ");
    await _client.ExecuteAsync(new TdApi.CheckAuthenticationCode
    {
    Code = code
    });
    break;

    case TdApi.AuthorizationState.AuthorizationStateWaitPassword:
    string pass = ReadLine("Введите пароль двухфакторки: ");
    await _client.ExecuteAsync(new TdApi.CheckAuthenticationPassword
    {
    Password = pass
    });
    break;

    case TdApi.AuthorizationState.AuthorizationStateReady:
    _haveAuthorization = true;
    _gotAuthorization.Set();
    Console.WriteLine("Авторизация завершена.");
    break;

    case TdApi.AuthorizationState.AuthorizationStateClosed:
    Console.WriteLine("TDLib закрыт.");
    _canQuit = true;
    break;

    default:
    Console.WriteLine($"Неизвестное состояние: {_state.GetType().Name}");
    break;
    }
    }
    }
    Написано
  • Пермач после авторизации [WTelegram,TDLib] как исправить?

    @Dafsas Автор вопроса
    Roman, Если ты работал с этими библиотеками и действительно сможешь помочь, то скину код
    Написано