Задать вопрос
  • Как заставить скрипт tampermonkey работать?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    // ==UserScript==
    // @name         New Userscript
    // @namespace    http://tampermonkey.net/
    // @version      2025-05-24
    // @description  try to take over the world!
    // @author       You
    // @match        https://store.steampowered.com/news/app/550
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=steampowered.com
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
        function redOctober() {
            var textElements1 = document.querySelectorAll("#responsive_page_template_content > div.page_content_ctn > div > div > div > div > div > div > div > div > div > span");
            textElements1.forEach(function(element) {
                element.style.color = 'red';
            });
        }
        const observer = new MutationObserver(redOctober);
        observer.observe(document.body, {
            childList: true,
            subtree: true
        });
    })();

    68321e92b64a6910039614.png
    Ответ написан
    Комментировать
  • Почему Powershell автоматически меняет кодировку кода в UTF-16 LE?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Ваш исходник: ReplaceHexBytesAll.ps1 содержит BOM, что мешает PowerShell выполнить скрипт.

    iex "ргуается" на комментарии в коде...

    Это на самом деле про BOM, а не комментарий.
    1. Вам следует удалить BOM: в Notepad++ пересохранить без BOM или в IDE:
    6824822b73416273864509.png
    2. Если хочется однострочник с передачей аргументов, как у вас в начале было:
    iex "& { $(irm 'https://raw.githubusercontent.com/Drovosek01/ReplaceHexPatcher/refs/heads/main/core/v2/ReplaceHexBytesAll.ps1') } -filePath 'C:\Users\dim5x\lol\lol.exe' -patterns '4883EC28BA2F????00??8D0DB0B7380A/11111111111111111111111111111111','C4 25 2A 0A 48 89 45 18 48 8D 55 18 48 8D 4D ?? / 1111 111111 111111 1111111111111111' -makeBackup -showMoreInfo -skipStopwatch -showFoundOffsetsInDecimal"

    682484db5fc42085278250.png

    З.Ы. Насколько целесообразно не сохранять скрипт, а выполнять его в памяти, если подразумевается его более чем однократное использование, — вопрос открытый.
    Ответ написан
  • Как через subprocess выполнять скрипты с пробелами в путях?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    subprocess.Popen(
        f'cmd /k ""{path_app}" "{path_file}""',
        creationflags=subprocess.CREATE_NEW_CONSOLE
    )

    68234e308f567451893958.png
    Ответ написан
    1 комментарий
  • Как автоматически заполнять форму на сайте?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    lukepker,
    1. Поставить Tampermonkey для вашего браузера.
    2. В Tampermonkey => Cоздать новый скрипт => Вставить скрипт => Сохранить.
    3. Перезагрузить https://chgk.tvigra.ru/sendquestion/ .

    При заходе на сайт автоматом будут проставляться стандартные поля.

    Прочесть перед вставкой и поменять значения полей на свои:
    Скрипт.
    // ==UserScript==
    // @name         Автозаполнение формы на chgk.tvigra.ru
    // @namespace    http://tampermonkey.net/
    // @version      2025-05-05
    // @description  Автозаполнение формы на chgk.tvigra.ru/sendquestion
    // @author       dim5x
    // @match        https://chgk.tvigra.ru/sendquestion/
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=tvigra.ru
    // @connect      i.pinimg.com
    // @grant        GM_xmlhttpRequest
    // ==/UserScript==
    
    (function() {
        'use strict';
        console.log('[DEBUG] Скрипт запущен!');
        // ФИО и дата рождения.
        const surname = document.querySelector('#surname');
        surname.value = 'Иванов';
        const name = document.querySelector('#name');
        name.value = 'Иван';
        const second_name = document.querySelector('#second_name');
        second_name.value = 'Иванович';
        const birth_date = document.querySelector('#birth_date');
        birth_date.value = '01.12.1980';
    
        // Загружаем фото.
        setTimeout(async () => {
            const fileInput = document.querySelector('input.upl[name="upl"]');
            if (!fileInput) return;
    
            // URL файла в интернете (пример - маленькое изображение).
            // Поставить в @connect в шапке тот домен, где будет лежать ваше фото. Для примера это i.pinimg.com .
            const fileUrl = 'https://i.pinimg.com/736x/57/11/9c/57119ce30030b98dcefab1662598f390.jpg';
            const fileName = 'image.jpg';
            const fileType = 'image/jpg';
    
            try {
                // Загружаем файл
                const response = await new Promise((resolve, reject) => {
                    GM_xmlhttpRequest({
                        method: 'GET',
                        url: fileUrl,
                        responseType: 'blob',
                        onload: resolve,
                        onerror: reject
                    });
                });
    
                // Создаем File объект
                const file = new File([response.response], fileName, { type: fileType });
    
                // Эмулируем загрузку
                const dt = new DataTransfer();
                dt.items.add(file);
                fileInput.files = dt.files;
    
                // Триггерим событие
                fileInput.dispatchEvent(new Event('change', { bubbles: true }));
            } catch (e) {
                console.error('Ошибка загрузки файла:', e);
            }
        }, 1000);
    
        // Место работы, должность, номер, мыло...
        const work_place = document.querySelector('#work_place');
        work_place.value = 'habr';
        const employment = document.querySelector('#employment');
        employment.value = 'TC';
        const home_address = document.querySelector('#home_address');
        home_address.value = 'Москва';
        const phone_number = document.querySelector('#phone_number');
        phone_number.value = '+79992223311';
        const email = document.querySelector('#email');
        email.value = 'email@email.email';
    
        // Галочка.
        const ruleLabel = document.querySelector('label.check_label')
        ruleLabel.click();
    })();
    Ответ написан
    Комментировать
  • Как добавить в дату, записанную в строке, нули перед месяцем и днём?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    d = '2025-2-1'
    l = d.split('-')
    for i, el in enumerate(l):
        if len(el) < 2:
            l[i] = '0' + el
    
    print('-'.join(l))
    Ответ написан
    1 комментарий
  • Как оставить в ячейке гугл таблиц только левую часть до определенного символа?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    =REGEXREPLACE(B1; "#.*"; "")
    6816dc3a05698842704085.png

    З.Ы. с REGEXEXTRACT:
    =REGEXEXTRACT(B1; "([^#]*)")
    Ответ написан
    2 комментария
  • Почему PHP считает int числа после математических операций как float?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Поскольку 55 / 100 возвращает float, результат тоже будет float.

    Если нужно целое число, можно использовать intval()
    Ответ написан
  • Почему постоянно вылезают ошибки KeyError и ValueError Pyrogram?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    А может ещё потому что:

    ...or i.cha==> R <==.type == 'supergroup'...

    Но какой смысл гадать, код не воспроизводим.
    Ответ написан
  • При запуске кода не отображается игра Pygame. Как исправить?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Должно быть внутри цикла:
    x1 += x1_change 
    y1 += y1_change
    dis.fill(white)
    
    pygame.draw.rect(dis, black, [x1, y1, 10, 10])
    pygame.display.update()
    clock.tick(30)

    Код:
    while not game_over:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_over = True
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    x1_change = -10
                    y1_change = 0
                elif event.key == pygame.K_RIGHT:
                    x1_change = 10
                    y1_change = 0
                elif event.key == pygame.K_UP:
                    y1_change = -10
                    x1_change = 0
                elif event.key == pygame.K_DOWN:
                    y1_change = 10
                    x1_change = 0
    
        x1 += x1_change
        y1 += y1_change
        dis.fill(white)
    
        pygame.draw.rect(dis, black, [x1, y1, 10, 10])
        pygame.display.update()
        clock.tick(30)

    6812e9630a070616747689.png
    Ответ написан
    1 комментарий
  • Почему возникает ошибка в моем коде (баг f-строк)?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Используйте версию питона >=3.12.
    До Python 3.12 обратные косые черты не допускались внутри поля замены f-строки. f-strings

    Или, если это невозможно, то так:
    things = ['Thing one','Thing two','Thing three']
    nl = '\n'
    print(f"I have a list of things:\n{nl.join(things)}")
    Ответ написан
    Комментировать
  • Можно ли сменить тему в редакторе Notepad++, чтобы он стал максимально похож на Akelpad?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    У вас разница между скриншотами в наличии Панели инструментов, которая прекрасно отключается в настройках.

    Или нажмите F11 и будут перед вами только вкладки и текст - с интерфейсом Notepad++ вообще не будете пересекаться.
    Ответ написан
    Комментировать
  • Как правильно в bash задать регулярное выражение по sed?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    sed -En 's/.*<span. *class=\"post-b\">Исполнитель<\/span>: *([^<]*)<br.*/\1/p'
    Ответ написан
    4 комментария
  • Как обойти блокировку 403?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Если владелец - включить, как вариант, Directory Browsing from IIS.
    Если пользователь - сообщить владельцу о проблеме.
    Ответ написан
    Комментировать
  • Очистка ячеек определенного диапазона в определенное время?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    function myFunction() {
      var spreadsheet = SpreadsheetApp.getActive();
      var sheet = spreadsheet.getSheetByName("Лист2"); // <==
    
      var ranges = ['C7:D17', 'F7:G17', 'I7:J17'];
      ranges.forEach(function(range) {
        sheet.getRange(range).clear({contentsOnly: true, skipFilteredRows: true});
      });
    }
    Ответ написан
    Комментировать
  • Как эту задачу решить по другому?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Очевидно не перебирать все варианты, а решить систему уравнений:
    import numpy as np
    
    A = np.array([[5, 3], [3, 3]])
    B = np.array([46.2, 31.5])
    
    # Решаем систему уравнений
    x, y = np.linalg.solve(A, B)
    print(round(x, 2), round(y, 2))
    Ответ написан
    Комментировать
  • Нахождения первой папки в пути?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    @echo off
    set "path=C:\Program Files (x86)\Microsoft\Temp\file.txt"
    for /f "tokens=2 delims=\" %%A in ("%path%") do (set "first_folder=%%A")
    echo First folder: %first_folder%
    Ответ написан
    Комментировать
  • Как разделить весь путь?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    @echo off
    set "DIR_PATH=%~dp0"
    set "DIR_PATH=%DIR_PATH:\=\\%"
    echo PATH: %DIR_PATH%
    Ответ написан
    3 комментария
  • Как получить нужный формат отображения номера в Google Sheets?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Используйте формулу от Антон Весельчак, только в качестве разделителя ";" - у ваc локаль русская, видимо.
    =REGEXREPLACE(REGEXREPLACE(A1;"[^0-9]"; ""); "(\d{3})(\d{3})(\d{4})"; "$1 $2 $3")

    67f1056a444f6054670676.png

    Для второго случая:
    =JOIN(", "; ARRAYFORMULA(REGEXREPLACE(MID(REGEXREPLACE(A1; "[^0-9]"; ""); {3;15}; 10);"(\d{3})(\d{3})(\d{4})"; "$1 $2 $3")))

    67f10a96791a1062896190.png
    Ответ написан
    1 комментарий
  • Как правильно обрабатывать ошибки при чтении файла?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Использовать with.

    try:
        with open('test.txt', 'r') as file:
            print("File exists and is accessible.")
    except FileNotFoundError:
        print("File does not exist.")
    except PermissionError:
        print("File exists but cannot be accessed.")
    Ответ написан
    Комментировать
  • Не работают эмодзи флагов в гугл таблице, можно ли их как то починить?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Unicode -символы флагов (не всех) распадаются на два символа в Google Sheets.
    Можно подгружать картинками. (Найдите надёжный источник, лучше куда-то себе скопируйте).
    =IMAGE("https://flagsapi.com/"&A1&"/flat/64.png")
    или непосредственно:
    =IMAGE("https://flagsapi.com/RU/flat/64.png"))

    67e77ee9d21ed878358586.png
    Ответ написан
    5 комментариев