Задать вопрос
  • Как запустить js скрипт перед загрузкой сайта?

    @Zailox Автор вопроса
    Решение на основе ответа CuriousLynx:

    manifest.json:

    {
    ...
      "background": {
        "scripts": ["background.js"],
        "persistent": true  //Блок запросов через background.json
    ...
      "permissions": [
            "tabs",
            "storage",
            "webRequest",
            "webRequestBlocking",
            "<all_urls>" //Все 3 последних разрешения для блока
        ]
    }

    background.js:

    chrome.webRequest.onBeforeRequest.addListener(
      function(details) { return {cancel: true}; },
      {urls: ["*://domen.saita/exam/js/main.module_9dae9.js"]},
      ["blocking"]
    );


    А дальше через content.js замена src на свой.
    Ответ написан
    Комментировать
  • Как решить проблему Selenium при работе с играми в веб телеграм?

    @Zailox
    Во 1, нужно убедиться, что на элемент уже можно кликнуть

    element = WebDriverWait(driver, 20).until(
    EC.presence_of_element_located((By.ID, "myElement")))


    2. Путь может постоянно меняться, вы точно все попробовали? И по айди, и по xpath, и по css, html и т.д.?

    3. Для автоматизации игры лучше запустить приложение, и писать код на основе pyautogui.
    Ответ написан
  • Как сократить код?

    @Zailox
    Можно все это написать в одну строку, но это будет ещё более неудобным для чтения.

    Пример:

    Вместо

    if a == 5:
        do_smth()
    else:
        if a > 10:
            func()
        else:
           func2()


    Можно

    do_smth() if a == 5 else func() if a > 10 else func2()


    Не очень понятно, про какие вы говорили циклы, для чего они?

    Насчёт "нужно ли выводить в функцию" - если вы используете этот код только здесь - нет, если в нескольких местах - да, желательно.
    Ответ написан
    1 комментарий
  • Как сделать exe файл в python?

    @Zailox
    Не нужно компилировать все в ехе, достаточно скомпилировать сам скрипт, а все эти файлы положить в одну папку.

    Если имеется ввиду сделать из всего этого один файл (как обязательное условие) - никак, только сохранять содержимое файлов в переменные, например
    Ответ написан
    Комментировать
  • Как убрать "перейти к сообщению" в телеграм?

    @Zailox Автор вопроса
    await message.answer(price, link_preview_options=LinkPreviewOptions(is_disabled=True))

    Решило проблему, но пришлось перейти на 3 аиограм
    Ответ написан
  • Как удалить сообщение, на которое ответили определенным текстом (aiogram)?

    @Zailox Автор вопроса
    async def delete(message: types.Message):
        if not message.reply_to_message:
            await message.reply('Эта команда должна быть ответом на сообщение!')
        else:
            await bot.delete_message(chat_id=message.chat.id, message.reply_to_message.message_id)
            #или
            await message.reply_to_message.delete()
    Ответ написан
    Комментировать
  • Как настроить авторизацию в telegram боте?

    @Zailox
    Лучше всё-же использовать SQL датабазы, но вот есть вариант без него с сохранением пользователей вида "юзер пароль":
    users = open("users.txt", 'a+')
    ...
    #После отправки команды /login
    for item in users.read().split("\n"):
        message = message.replace("/login ", "")
        if message.split(" ", 1)[0] == item.strip().split(" ", 1)[0] and message.split(' ', 1)[-1] == item.strip().split(' ', 1)[-1]:
            message.answer("Вы вошли")
        else:
            message.answer("Зарегистрируйтесь командой /register")
    ...
    #После отправки команды /register
            users.write(message.replace("/register ", ""))
            message.answer("Вы успешно зарегистрировались")


    Примерно так должен выглядеть код, пример написан на aiogram, вход происходит при отправке команды /login логин пароль, а регистрация при отправке команды /register логин пароль. И вообще, главное в обучении - problem solving, так что пореже обращайтесь к ИИ и форумам, если даже не пытались решить задачу.
    Ответ написан
    Комментировать
  • Может ли злоумышленник получить ссылку на сайт мини приложения телеграм?

    @Zailox
    Может, причём очень даже просто (через какие-нибудь http canary, pcapdroid, wireshark (если ПК) и т.д.). Вариант решения (не факт, что будет работать, но можно попробовать) - добавить веб ссылку не самого приложения, а сервера, который будет перенаправлять запрос на сайт с приложением. Либо сделать загрузку веб приложения только при получения запроса с определенным user-agent`ом.
    Ответ написан
    Комментировать
  • Как не запрашивать логин / пароль Linux?

    @Zailox Автор вопроса
    Как оказалось - команды работают нормально, просто из-за /bin/bash -c другие аргументы не передавались, вот решение: /bin/bash -c "passwd -d test"; /bin/bash -c "login test"
    Ответ написан
    Комментировать
  • Как пофиксить ошибку с установкой библиотек через Pip?

    @Zailox
    1. Модуль называется pygame, а не paygame
    2. Если будет ошибка, связанная с SSL - нужно отключить VPN/прокси, если он включен
    3. Если модуль реально называется paygame, ии вы пытаетесь установить его с папки - переходим в папку и пишем pip install . -e
    Ответ написан
  • Как изменить фотографию и текст, но не отправлять это новым сообщением (редактированием) в aiogram?

    @Zailox
    mymessage = await call.message.answer_photo(photo=photo, caption=f'<b> Твои батл-комнаты:</b>\n', parse_mode="HTML", reply_markup=markup_admin_or_basic)
    with open('graph-progress.png', 'rb') as photo:
        ...
        await call.message.edit_media(photo=photo) #Для редактирования медиа (фото, видео и т.д.)
        await bot.edit_message_text(chat_id=message.chat.id, message_id=mymessage.message_id, text="Lorem Ipsum is a dummy") # Для редактирования текста
    Ответ написан
  • Как изменить консоль по умолчанию linux?

    @Zailox Автор вопроса
    Всё оказалось просто, вместо init файла из /bin/dash нужно было в этот файл написать "/bin/bash"
    Ответ написан
    Комментировать
  • С чего и как создать кроссплатформенный discord-bot?

    @Zailox
    Если под "кроссплатформенный" имеется ввиду возможность запуска на любом устройстве, то подойдет почти любая библиотека, у которой нету системных зависимостей. Вот список:
    1. Discord.py - отдаленно похож на aiogram по синтаксису
    2. Hicari
    3. Discord (Зеркало discord.py(могут быть небольшие проблемы в целостности пакета, рекомендуется обновить )pip)
    Ответ написан
    Комментировать
  • Где можно бесплатно развернуть тг бота на python?

    @Zailox
    Есть очень много вариантов, вот некоторые из них:
    2.1 Serv00.com

    2.2 Pythonanywhere

    2.3 Google shell

    2.4 Google Collab

    2.5 Сайт для запуска python кода и возможностью установки библиотек (временно)

    2.6 Онлайн виртуалки (onworks например, но pip прийдется ставить через get-pip (временно))

    2.7 Онлайн эмуляторы UNIX терминала (временно)

    Но лучший вариант - локалхост, можно всего за 10к- собрать сервер с 8-16 оперативы и ксеоном и хостить сколько угодно ботов 24/7
    Ответ написан
    Комментировать
  • Почему выдаёт ошибку при установки Aiogram 2.23.1 в Pycharm?

    @Zailox
    Если вы не создаёте виртуальные окружения - лучше устанавливать библиотеки через системную консоль.
    А так нужно просто установить Microsoft Visual C++ версии 14.0 или выше по этой ссылке
    Ответ написан
    5 комментариев
  • Есть нормальные видосы или гайды по Aiogram 3?

    @Zailox
    Первый - Длинный плейлист состоящий из 49 уроков, сам по нему учился.
    Второй - от этого же автора, но более новый. Тут есть и 10 минутный гайд, и гайд по вебхукам, гайд на состояния и т.д.
    Ответ написан
    Комментировать
  • На каком языке программирования писать сервер для игры?

    @Zailox
    Зависит все это ещё и от сервера, если сервер достаточно мощный, и вам хочется написать без усилий - пайтон, если же сервер не сильно мощный, и кроме простоты важна ещё и оптимизация - java/php, например сервера той же geometry dash с помощью php работают.
    Ответ написан
    Комментировать
  • Как изменить горячие клавиши для раскладки через консоль?

    @Zailox Автор вопроса
    У меня так и не получилось, хотел заменить старые файлы системы на исправные, в итоге сломал весь Линукс, легче загрузить live-boot, сохранить папку /home и переустановить систему
    Ответ написан
    Комментировать