• Как зарегистрировать аккаунт с помощью pyrogram?

    @Taus
    В начале нужно вызвать метод sign_in с кодом, который вы получите по SMS или телефонному звонку. Если к номеру телефона не привязан никакой аккаунт Telegram, то в ответе будет информация о необходимости регистрации. Вот тогда нужно будет вызывать метод sign_up.

    В Pyrogram это реализовано мягко говоря не удобно и подходит только для ручного ввода. Смотрите в код Client.authorize.
    Ответ написан
    Комментировать
  • Как "поднять" версию os Build на windows?

    vabka
    @vabka
    Токсичный шарпист
    Только обновиться на pro/home/обычную enterprise версию.

    LTS* получают обновления только через 3 года вроде
    Ответ написан
    2 комментария
  • Как получит image url?

    sswwssww
    @sswwssww
    https://api.imgbb.com/

    import base64
    import requests
    
    with open("fig1.png", "rb") as file:
        url = "https://api.imgbb.com/1/upload"
        #  key_imgbb - это твой api ключ, получаешь его зарегавшись на сервисе
        payload = {
            "key": key_imgbb,
            "image": base64.b64encode(file.read()),
        }
        res = requests.post(url, payload)
    print(res.json())  # забираешь отсюда нужную тебе ссылку на файл, и отправляешь в google

    Код не мой, лучше написать все асинхронно, но работать будет и так.
    Ответ написан
    1 комментарий
  • Как загрузить видео по url у input[type="file"]?

    @zkrvndm
    Софт для автоматизации
    Набросал вам небольшую функцию для вставки файла в поле по ссылке:
    // Функция для вставки файла в поле input:
    
    async function setFile(input, name, url) {
    	try {
    		var blob = await (await fetch(url)).blob();
    		var dt  = new DataTransfer();
    		dt.items.add(new File([blob], name, {type: blob.type}));
    		input.files = dt.files;
    		console.log('Файл успешно вставлен:');
    		console.dir(input.files);
    		return true;
    	}
    	catch(err) {
    		console.log('Ошибка при вставке файла:');
    		console.dir(err);
    		return false;
    	}
    }

    Первым параметром в функцию передаёте ссылку на само поле, вторым параметром желаемое название для файла, а третьим параметром ссылку на файл. Например:
    // Входные параметры:
    var input_element = document.querySelector('input[type="file"]');
    var file_name = 'Мое музло.mp3';
    var file_link = 'https://ваш-сайт.рф/music.mp3';
    
    // Вызовем функцию для вставки файла:
    setFile(input_element, file_name, file_link);

    Работать это будет при условии, что файл находится на том же домене, что и форма с полем. Иными словами, бесполезно вставлять ссылки на сторонние сайты! Поэтому прежде чем вставлять видео, озаботьтесь тем, что загрузить это видео на свой сайт.

    Дополнительная информация
    Также вместе третьего параметра можно передавать не ссылку на файл, а уже сам файл в представлении base64 - это когда файл конвертируется в длинный-длинный зашифрованный текст. Чтобы перегнать какой-нибудь файл в base64, вы можете использовать онлайн сервисы, вам наверное так будет проще всего.

    Только зачем так заморачиваться, если можно просто положить файл внутри своего сайта и при вставке банально указывать ссылку на него?
    Ответ написан
    8 комментариев
  • Кто может посоветовать как сделать красивый интерфейс?

    Чисто схематично, можно так: 606104c7c6327687272389.png
    Ответ написан
    Комментировать
  • Кто может посоветовать как сделать красивый интерфейс?

    Kadzi
    @Kadzi
    Ом
    6055e4cc1e4ea019717884.jpeg
    Ответ написан
    Комментировать
  • Почему не меняется переменная в замыкании?

    WblCHA
    @WblCHA
    Всё работает именно так, как ты и прописал.
    newMinute если секунды равны нулю, отнимает минуту и делает секунды равные 60 (а должно быть 59, потому что 60 секунд = 0 секунд). Поскольку секунды нигде не уменьшаются (seconds--), то ты получаешь бесконечный цикл.

    Более того, newMinute всё равно не будет работать, поскольку ты объявил её через function и она теряет контекст.
    Тут либо биндить калбек интервала / саму newMinute, либо использовать стрелочную:
    const newMinute = (timerID) => {//Higher I write when I use arrow function
            if (seconds < 1) {
              if (minutes < 1) {
                this.endTimer(timerID);// don't work maybe due context
                return;
              }
              minutes--;//if I use arrow function minutes don't change
              seconds = 59;//also don't change
              return;
            }
            seconds--;
          };
    Ответ написан
    Комментировать
  • Когда использовать static метода?

    @dmitryKovalskiy
    программист средней руки
    использование слова static оправдано для методов и классов, где логически отсутствует необходимость в множественных объектах. Классический пример - математические функции. Объекты класса "калькулятор" не нужны никому. Поэтому в ООП языках, как правило, класс Math и ему подобные - статичны.
    Ответ написан
    5 комментариев
  • Когда использовать static метода?

    @matperez
    К примеру есть такой класс "Человечество". У человечества есть характеристика "средний рост", она не применима к отдельному человеку. Метод рассчитывающий средний рост и саму переменную которая его хранит нужно сделать статической.

    Экземпляром класса "Человечество", является отдельный человек. Отдельный человек можно иметь свой конкретный рост, вес, цвет волос и так далее, он может ходить, есть, разговаривать - вот эти методы и переменные должны быть динамическими.
    Ответ написан
    Комментировать
  • Почему не работает trim?

    benbor
    @benbor
    Помог ответ - не забудь лайкнуть
    Начните с просто JS кода, научитесь программировать, а уж потом пытаться работать с библиотеками. Для банальной задачи вы заюзали jquery. Заюзали не правильно не только с точки зрения архитектуры, но и реализации.
    Чтобы не быть голословным:
    1. Когда выполнится строчка $(".metal-counts").trimToLength(2); прототип строки еще не будет изменен, ибо document ready будет позже.
    2. Селектор jquery возвращает объект, который наследуется от массива, а не строки
    3. Даже если вы достанете первый элемент масива, то он тоже не потомок строки, а встроенный объект HTMLDomElement ( могу перепутать точное название)
    4. JQuery селектор только возвращает контент елемента, заполнить его нужно другим образом
    5. Изменять прототип чтобы вызвать в одном месте, не самое лучшее решение
    и это только то, что бросается в глаза
    Ответ написан
    Комментировать
  • Как сделать телеграм бота который отправляет картинку по url?

    @Israfil22
    Я сейчас просматриваю API вашей библиотеки.
    Тут написано что вторым параметром вам нужно передать строку, в вашем случае url, а не объект.
    Ответ написан
    Комментировать
  • Ошибка типа: Cannot read property 'src' of null?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    вот эта строка
    const url = await page.$("div.post-container picture img");


    не находит элемента, удовлетворяющего div.post-container picture img
    и возвращает значение null. В результате url = null
    Ответ написан
    4 комментария
  • Как анализировать вакансии front/-backend разработчиков?

    DevMan
    @DevMan
    не стоит удивляться: в таких вакансиях расставляют требования точно так же как и вы теги к своему вопросу.
    Ответ написан
    24 комментария
  • Как одновременно парсить с двух сайтов?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Просто втыкай ещё один @match, количество не ограничено.
    В самом скрипте, очевидно, ты можешь различать их по locatoin.hostname.
    Ответ написан
    5 комментариев