Задать вопрос
  • Программирование, строки закрыты все?

    GavriKos
    @GavriKos
    Это значит что это блок. В данном случае - блок комментария.
    Что такое "закрыты все строки" я лично не знаю, несмотря на многолетний опыт.
    Ответ написан
    6 комментариев
  • Как использовать pymongo асинхронно?

    @Everything_is_bad
    Я не совсем понимаю как работает asyncio. можете помочь?
    это так не работает. Перестать делать методом тыка и начни читать доки или учебник. Ну вот потыкать тебе в те же доки https://motor.readthedocs.io/en/stable/tutorial-as... но ты всё равно прибежишь с другим подобным вопросом.

    await rewards.append(reward)
    ну треш же
    Ответ написан
    Комментировать
  • Как сконвертировать список в JSON?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    from itertools import batched
    
    a = ['A', 123, 'B', 321, 'C', 1234]
    b = dict(batched(a, 2))
    Ответ написан
    Комментировать
  • Как правильно хранить SMS-коды?

    AzaBroflovski
    @AzaBroflovski
    Software developer / Web Jedi
    Да, у кода должен быть тип (auth, change_phone, reset_password и т.п) иначе будут коллизии, один процесс может перетереть код другого, удаляй коды конкретного типа (не все подряд)

    Всегда создавай новый код при запросе, даже если старый ещё жив, юзер может потерять смску или просто передумал и начал делать чето еще что тоже требует смску

    Что бы не долбили смсками, делаешь throttle
    Ответ написан
    Комментировать
  • Проблема с запуском собранного exe на путоне на windows 7. Помогетe пожалуйста?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Собирать на том же ПК где не работает или забыть про Windows 7

    P.S. Ну можно еще более старую версию python попробовать
    Ответ написан
    Комментировать
  • Почему видеофайл не доступен напрямую в браузере?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Всё дело в токене. Без него телега блокирует доступ к файлу. Но работает он только в пределах сессии в телеграме. Это если попроще объяснить.
    Ответ написан
    1 комментарий
  • Как добавить кнопку к пересылаемому сообщению?

    @nozzy
    Symfony, Laravel, SQL, Python, Telegram
    Сообщение пересылается так:
    client.forward_messages(chat_id, from_chat_id, message_ids)

    То что ты делаешь, это копирование текста сообщения.
    Но кнопку добавить не получится, так как для этого, тебе нужно залогиниться как бот.
    Ты же, судя по коду, залогинился в Telethon, как юзер.
    Ответ написан
    Комментировать
  • Тема: телеграм бот с ChatGPT, несколько вопросов?

    @Everything_is_bad
    Сколько одновременных запросов от разных пользователей сможет обработать один аккаунт Openai и для ChatGPT и для Dalle-3, и влияет ли прокси на пропускную способность, и целесообразно ли распределять нагрузку между прокси?
    Сколько одновременных запросов генерации изображений сможет обработать один аккаунт Midjourney
    открывай их доки и читай про лимиты.

    И как настроить балансировщик нагрузки на сервер, когда я размещу бота и его начнут посещать множество пользователей?
    вот когда появится нагрузка на сервер, которая вызовет проблемы, ты сделаешь профилирование, найдешь узкое место и уже относительно этой информации будешь оптимизировать.

    библиотеку requests, сам метод вызывается асинхронно
    как ты синхронный requests вызываешь асинхронно? через run_in_executor? если да, зачем так извращаться, надо брать aiohttp или httpx.

    зачем тут монго? храни настройки так же в постгрес

    ну и правила почитай, ну нужно валить разные вопросы в одну кучу
    Ответ написан
    Комментировать
  • Почему Linux забил на --user-data-dir при запуске Selenium?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    А если прочитать ошибку? Один экземпляр хрома уже использует этот профиль. Кильните процесс и начните заново, а также оберните в try except сам код, а quit в finally, чтобы больше не оставалось висячих процессов.
    Ответ написан
  • Как увеличить квоту API?

    @tukreb
    Ну так скормите вашему ИИ, apk файл ютуба или его аналогов, пусть разберётся что и как там.
    Вы же не хотите учится, ну тогда пытайте ИИ.
    Ответ написан
    23 комментария
  • Не будет ли конфликтов между виндой и линуксом, если линукс поставить второй системой?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Если вам для учебных целей или просто пощупать - то ставьте VirtualBox, в него устанавливайте линукс и будет у вас прекрасная игровая площадка, которую не жалко сломать и от которой не зависит ваша основная система. А вот ставить линукс второй системой имеет смысл только если вам в линуксе нужен 3D и графика. А ещё лучше ставить только в случае, если вы знаете или хотите изучить механизмы работы загрузки нескольких разных ОС и их взаимодействие на собственном опыте. Или есть хороший знакомый, который это всё знает и умеет чинить. Проблема двух ОС в том, что у разных разработчиков разных ОС и разных дистрибутивов свои понятия о том, как должны взаимодействовать несколько ОС, плюс разные конфигурации оборудования - всё вместе это даёт такой дикий коктейль возможностей, что никогда не угадаешь, что может пойти не так. При установке ОС установщик может: проигнорировать существующий загрузчик и добавить его запись в свой загрузчик, добавить запись о новой ОС в существующий загрузчик, заменить его своим и добавить запись о старой ОС в свой список (или не добавить), не ставить вообще никакой загрузчик для целевой ОС, может просто удалить его, может полностью удалить существующую ОС и т.п. Плюс существует еще куча всяких конфигураций железа и ПО: BIOS, UEFI, MBR, GPT, SATA, NVME, разные виды разделов, установка ОС на один диск или на несколько, может быть больше двух разных ОС и т.п. и т.д. А ещё современные ОС периодически при обновлении лезут в загрузчики свои и как результат, при любом обновлении любой ОС всё может поломаться (увы, реальный факт из практики - что винда, что линукс уже не раз так делали).

    В целом рекомендация будет следующая:
    1. Отключить в винде быструю загрузку (FastBoot)
    2. Физически отключить диск с виндой от ПК
    3. Выбрать в БИОС загрузку с диска, куда будете ставить линукс
    4. Установить линукс
    5. Подключить диск с виндой обратно
    6. В загрузчик линукс добавить запись загрузчика винды
    7. Загрузиться в винду
    8. Добавить в загрузчик винды запись линукса
    9. В BIOS выбрать загрузочный диск основной ОС

    Т.о. у каждой ОС будет свой независимый загрузчик на своём диске и когда одна из ОС или диск сломается - у вас будет вторая независимая ОС, которая всё ещё будет работать.

    Альтернативный вариант - использовать как основной загрузчик что-то типа Clover. Но там тоже есть свои нюансы.
    Ответ написан
    4 комментария
  • Есть ли в питоне файл проекта?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Нет такого, единственное что есть зрелое, так это pyproject.toml и poetry.lock (poetry), в котором описывается версия python и необходимых библиотек для текущего проекта. А от циклических импортов можно спастись лишь руками, заранее грамотно проектируя проект и вынося нужный функционал в модули и пакеты.
    Ответ написан
    1 комментарий
  • Есть ли в питоне файл проекта?

    @Everything_is_bad
    https://packaging.python.org/en/latest/guides/writ...

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

    Steel_Balls
    @Steel_Balls
    Никак. Это запрещено на уровне системы ещё десять лет назад.
    То, что ты пытаешься делать - запрещено законами всех наших европейских стран
    Ответ написан
    8 комментариев
  • Сколько денег просить за проект?

    vabka
    @vabka Куратор тега Веб-разработка

    Просят назвать цену, а у меня вообще нет идей, сколько за это нужно просить и как оценить проект по рынку.

    Вариант раз: поищи, сколько за подобные проекты просят другие разработчики и какие бюджеты называют другие заказчики.

    Учитывай ещё и бюджет заказчика своего, тк бюджет явно будет ограничивающим фактором при разработке

    Вариант два: проведи преданалитику и оцени трудозатраты. Далее смотри на свой ценник за час / за более мелкие подзадачи, смотри п1.

    Если по обоим способам не можешь назвать цену (например преданалитика требует больше времени), то тогда можно попробовать "долгосрочное сотрудничество", где заказчик будет платить не за сделанный проект, а за затраченные часы.

    Конкретно в примере у тебя - я бы с потолка сказал бы, что миллион, если это разработка с нуля и текст в вопросе - это всё тз.
    (Месяц-два работы команды из аналитика, дизайнера, менеджера проекта, и пары разработчиков)
    Но без адекватного обоснования это оттолкнёт многих заказчиков, особенно если бюджет максимум пара сотен.

    В целом телеграмовские мини-приложения - это обычные SPA, так что можешь ориентироваться на них.

    Нужно ещё смотреть, на сколько детально проработано ТЗ. Нарисован ли дизайн и прочее.
    Уже на берегу ясно, что много часов уйдёт на разные уточняющие вопросы заказчику.
    Ответ написан
  • Ботнет на подсеть /22, /21, /20?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    1. что за трэш у провайдера происходит, если ботнетом захвачена значительная часть его клиентом?

    Это не трэш, а обычный бразильский провайдер :)
    Ответ написан
    Комментировать
  • Как сделать альтернативное управление для сторонней игры, при помощи Python'a?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Устнавливаете keyboard и пишите скрипт, вроде этого:
    import keyboard
    
    # Функция, которая будет вызываться при нажатии клавиши 1
    def press_1():
        keyboard.press_and_release('f')
    
    keyboard.on_press_key('1', press_1)

    Он будет перехватывать нажатие единицы во всей системе (а не только в игре) и эмулировать нажатие клавиши f
    Ответ написан
    1 комментарий
  • Как передать данные из flask в wrap, а затем на страницу сайта?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Передавайте дополнительные аргументы в декоратор, в чём проблема
    def plugin_page(name, **kwargs):
        def decorator(f):
            @wraps(f)
            def wrapper(*args, **kwargs):
                # Вызов оригинальной функции и получение её результата
                result = f(*args, **kwargs)
                # Объединение результата функции с дополнительными аргументами
                context = {**result, **kwargs}
                return render_template('plugin-' + name.lower() + '.html', **context)
    
            return wrapper
    
        return decorator
    Ответ написан
    1 комментарий