• Почему все говорят что писать ботов это сложно?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Если нужно сделать Эхо-бот, то этого достаточно.
    Если чуть более интереснее, то тут нужно много логики, знание языка, библиотек. На этом как раз таки начинающие программисты и запинаются. Более-менее опытному программисту написать бота не сложно и везде в уроках пишут что это легко, но не упоминают о том что легко только если программист знает хотя бы основы или хотя бы есть желание их изучить.
    Ответ написан
    Комментировать
  • Как сформировать guess - параметр для Funcaptcha 4 типа?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Funcaptcha 4 типа (FunCaptcha v4) - это новая версия капчи от антибот-сервиса Arkose Labs. В этой версии капчи в качестве одного из параметров требуется передать guess. guess - это ответ на вопрос, заданный в капче, который необходимо вычислить программно.

    Для того, чтобы сформировать guess для Funcaptcha 4 типа, необходимо выполнить следующие шаги:

    Получить от сервера капчи JSON-объект с информацией о задании.

    Извлечь из JSON-объекта следующие параметры:

    • gameParams - параметры игры
    • question - текст вопроса
    • sequence - последовательность действий

    Рассчитать ответ на вопрос, используя параметры gameParams и question, а также выполнить последовательность действий, используя параметр sequence. Результатом будет guess

    Отправить на сервер капчи guess, чтобы завершить проверку.

    Здесь приведен пример кода на JavaScript, который можно использовать для вычисления guess для Funcaptcha 4 типа:

    // Получаем JSON-объект с информацией о капче
    const captchaInfo = await fetch('https://client-api.arkoselabs.com/fc/gt2/public_key/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/meta').then(response => response.json());
    
    // Извлекаем параметры игры, текст вопроса и последовательность действий
    const gameParams = captchaInfo.task.key;
    const question = captchaInfo.task.instructions;
    const sequence = captchaInfo.task.instructions_order;
    
    // Вычисляем ответ на вопрос и выполняем последовательность действий
    let guess = question.length;
    for (let i = 0; i < sequence.length; i++) {
      const operation = sequence[i];
      if (operation === 'subtract') {
        guess -= gameParams.a;
      } else if (operation === 'add') {
        guess += gameParams.a;
      } else if (operation === 'multiply') {
        guess *= gameParams.a;
      } else if (operation === 'divide') {
        guess /= gameParams.a;
      }
    }
    
    // Отправляем guess на сервер капчи
    const captchaResult = await fetch('https://client-api.arkoselabs.com/fc/gt2/public_key/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/check', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      body: `guess=${guess}`
    }).then(response => response.json());

    Обратите внимание, что перед использованием этого кода необходимо заменить public_key на свой ключ, который можно получить в панели управления Arkose Labs.
    Ответ написан
  • Как проверить полученную случайную выборку в Python по ряду условий?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    import random
    
    ABC = ['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я']
    A = ['А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я']
    B = ['Б', 'В', 'Г', 'Д', 'Ж', 'З', 'К', 'Л', 'М', 'Н', 'П', 'Р', 'С', 'Т', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ']
    
    creature = ''
    while True:
        fish = random.choices(ABC, k=8)
        for i in range(2, len(fish)):
            if fish[i] in A and fish[i-1] in A and fish[i-2] in A:
                break
            if fish[i] in B and fish[i-1] in B and fish[i-2] in B:
                break
        else:
            creature = ''.join(fish)
            break
    
    print(creature)

    Здесь мы используем бесконечный цикл while True, чтобы генерировать случайные последовательности букв, пока не будет найдена последовательность, которая удовлетворяет условиям.

    Для генерации случайных последовательностей мы используем функцию random.choices, которой передаем список ABC и длину последовательности k.

    Затем мы проверяем каждый элемент последовательности на предмет наличия недопустимых сочетаний гласных или согласных букв, используя цикл for и оператор if. Если мы находим такие сочетания, мы выходим из цикла с помощью оператора break. Если недопустимых сочетаний нет, мы объединяем выбранные буквы в итоговую строку creature с помощью метода join и выходим из цикла while True с помощью оператора break.

    Наконец, мы выводим итоговую строку на экран с помощью функции print.
    Ответ написан
    1 комментарий
  • Как узнать dns домена на python?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Окей гугл, get dns website python
    Ответ написан
    1 комментарий
  • Есть ли возможность получить timezone по типу "America/New_York" зная только сейчасшнее время?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Прям таки весь весь интернет?
    Учитесь гуглить на английском языке
    https://stackoverflow.com/questions/3489183/how-ca...
    Ответ написан
    1 комментарий
  • Почему for игнорирует if?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Почувствуйте разницу
    console.log(10+5);
    console.log("10+5");
    Ответ написан
    Комментировать
  • Js canvas.Как растяуть изображение так, чтобы оно не деформировалось, и всегда было по всей ширине canvas?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Простая логика. Если у тебя канвас 400 на 600 пикселей, а картинка 30 на 40, то чтобы увеличить её по ширине тебе нужно её ширину увеличить в 400/30=13,3 раза, значит и высоту увеличиваешь в 13,3 раза, то есть 80*13.3=532 пикселя. и вот у тебя картинка по все ширине и равномерно по высоте.
    Ответ написан
    Комментировать
  • Как написать бот для создания ботов?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    не задумывался над таким, но тут очень много нюансов.
    Общий алгоритм думаю такой:
    1) при получении команды в вашем боте на копирование бота нужно скопировать заранее подготовленную папку с ботом-шаблоном куда нибудь на сервер в отдельную папку
    2) изменить в файлах настройках токен(либо добавить его в базу откуда будет он браться)
    3) создать все таблицы БД с каким нибудь префиксом, чтобы отличать одного бота от другого и чтобы у каждого были свои таблицы и данные
    4) создать и запустить сервис(например systemd)

    Крупными мазками - примерно так. Но вот нюансы известны только вам, так как бот ваш. Использует ли вообще ваш бот БД? Может он использует тот же Redis? использует ли он какое то внешнее api? и т.д.
    Если бот простейший - можно сделать, если чуть посложнее - то придется много факторов учесть. Для образовательных целей - хорошая задумка, много чего придется изучить чтобы реализовать. а так... оно того не стоит.
    Ответ написан
    Комментировать
  • Возможна ли проверка наличия слова в Python по первым буквам?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Направление - str.startswith
    Ответ написан
    Комментировать
  • Как получить span у radio?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Ответ написан
    Комментировать
  • Как сделать формулу суммирования цветной ячейки?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Окей гугл, суммирование закрашенных ячеек в excel
    Ответ написан
    2 комментария
  • Почему не работает UPDATE запрос в SQLite?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    COMMIT?
    Ответ написан
    Комментировать
  • Как сохранять переменные без БД в python?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    объявите словарь в начале кода, после импортов a = {} а потом наполняйте и читайте его откуда хотите. всё будет в оперативной памяти и по завершению бота - всё удалится. Но учтите что это лучше только для небольших словарей. лучше использовать базу или redis
    Ответ написан
    Комментировать
  • Как округлить тысячные?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    окей гугл, js округление до десятых
    Ответ написан
    Комментировать
  • Как вывести все качества видео одного видео pytube?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Изучаешь сторонние библиотеки не изучив основ?
    Хм... Ну ок, подскажу: set
    Гугли документацию.
    Ответ написан
    1 комментарий
  • Как создать таблицу, чтобы была взаимосвязь цена—кол-во—стоимость?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    делаете 3 столбца: цена, количество, сумма
    после них делаете еще 3 столбца, так же цена, количество сумма.
    Отличие в том что в первых трех вы вводите то, что вам известно, а во вторых трех прописаны формулы:
    для цены - сумма деленная на количество
    для количества - сумма деленная на цену
    для суммы - цена умноженная на количество

    В таком случае при вводе любых двух известных у вас во второй тройке столбцов будет посчитано остальное.
    Ну и чтобы уж красиво было добавить условия на ошибку и вывод 0

    E: =IF(A2="";IFERROR(C2/B2;"");A2)
    F: =IF(B2="";IFERROR(C2/A2;"");B2)
    G: =IF(C2="";IF(A2*B2=0;"";A2*B2);C2)

    63d8fddc81cf0397558628.png
    Ответ написан
    7 комментариев
  • Как разделить в впр формуле значения по отрицательным и положительным?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Можно просто смотреть на "Остаток по выполнению". Тогда статусы в столбце K и L, и ВПР не нужны.
    Если там 0 - значит "Выполнено"
    Если там больше 0 - значит "В работе"
    Если там меньше 0 - значит "Перевыполнение"
    =ЕСЛИ(I7<>"";ЕСЛИ(I7=0;"Выполнено";ЕСЛИ(I7>0;"В работе";"Перевыполнение"));"")

    А далее навесить условное форматирование на столбец H. Сейчас там есть для "Выполнено", так же сделать для "В работе" и "Перевыполнение"
    Ответ написан
  • Счастливый билет. Где ошибка в коде?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Счастливый билетик из автобуса? где сумма первых трех цифр должны равняться последним трем?
    сложным каким то путем вы пошли.
    моя интерпретация:
    a = input("Введите номер вашего билета что бы узнать счастливый он или нет: ")
    if len(a) != 6:
        print("Ввели неверное число")
        return
    if sum([int(x) for x in a[:2]]) == sum([int(x) for x in a[2]]):
        print('Счастливый')
    else:
        print('Обычный')
    Ответ написан
    1 комментарий
  • Почему файл очень много весит?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Вот познавательная статья https://www.planetaexcel.ru/techniques/12/114/
    Ответ написан
    4 комментария