Задать вопрос
  • Я придумал свою валюту. Как мне рассчитать курс к другой валюте?

    @antares4045
    Василий Банников, Признаться без понятия, как действует ЦБ, но это один (хоть и довольно крупный) агент, и он волен поступать как ему вздумается. Я говорил о более чистой теории (справедливости ради отмечу, что профильного образования у меня нет, и если кто-то скажет, что я не прав -- вполне может оказаться, что это так)
  • Почему не видно картинки на gh pages?

    @antares4045
    настоятельно рекомендую дать ссылку на репу т.к. там может быть вообще всё что угодно. Для начала рекомендую найти в панели network запрос этой картинки (есть ли он и какой код ответа) и уже дальше думать. С высокой вероятностью ожидаю cors.
  • Как разрешить чтение куки для локалхоста?

    @antares4045
    djEban, год назад разрешал ещё (сейчас не уверен), а два года назад было достаточно SameSite=None, а три и это было не обязательно -- гайки закручивают из версии в версию.
    Кукисы с вашими текущими настройками (по идее) не должны сломаться никогда, НО HttpOnly (и я где-то читал, что секюр) не доступны джавасриту (если вам не нужен доступ из джаваскрипта, то можете оставить всё как есть (гдавное убедитесь через девтулс что ккисы и правда устанавливаются))

    https://developer.mozilla.org/ru/docs/Web/HTTP/Cookies
  • Почему неправильно работает счетчик?

    @antares4045
    К тому-же на слво "привычка" данная проверка тоже отреагирует
  • Почему именно 5в напряжение в адаптерах для смартфонов?

    @antares4045
    удвоить ток, а при этом удвоится энергия, уходящая на нагрев
    вообще-то учетверится)
    Но в остальном вы молодец: на вопрос на данный момент дано 5 ответов, а единственный не магический у вас.
  • Как сделать проверку на присутствие ID?

    @antares4045
    x4zx, судя по трйсу, ошибка не там.
    Возможно есть смысл добавить проверку ещё и на None.
  • Очень долгий запуск bat как исправить?

    @antares4045
    AkaMaloy, А по остальным пунктам? долгая пауза после "call ...\actvate" или "python osnova_bot.py"?
    (Хотя судя по симптоматике, описанной в последнем сообщении, больше похоже на сетевые проблемы)

    Смеха ради, попробуйте переписать на telebot (а то aiogram какой-то фигнёй на старте занимается: апдейты какие-то, хендлер на KeyboardInterrupt вешает -- мрак).
    from telebot import TeleBot
    import os
    
    bot = TeleBot(os.getenv('TOKEN'))
    
    @bot.message_handler(commands=["start"])
    def start(message):
        bot.reply_to(message, "hi")
    
    print('bot is ready')
    bot.polling()


    хотя я, проведя серию тестов на своей машине, склоняюсь больше к версии с энвайроментом: какой там питон и что кроме aiogram? С другой стороны симптом про перезапуск вообще не ложится.
  • Очень долгий запуск bat как исправить?

    @antares4045
    res2001, Да, мне уже пару сообщений кажется, что я занимаюсь какой-то фигнёй.

    AkaMaloy, Если вам влом читать всю ветку, то:
    1) Уберите из батника echo off
    2) Добавьте в самое начало питоновского скрипта
    print('Если бот до сих пор тупит, то проблемы в коде')

    3) Откройте диспетчер задач и посмотрите на доступные ресурсы: ЦП, оперативная память, диск и сеть (это в порядке убывания важности)
    4) Убедитесь, что в вашем энвайроменте нет ничего лишнего
    5) Запустите батник от имени администратора

    Не факт, что этот комплекс мер поможет, но по его результатам уже будет можно производить дальнейший анализ.
  • Очень долгий запуск bat как исправить?

    @antares4045
    res2001, ну так: тот же код в той-же винде на той-же машине, но под докером работал нормально: не вижу других объяснений. мы даже сам код внешним вольюмом примаунтили, так что он даже физически находился там-же, так что это даже проблемой диска быть не может.
  • Очень долгий запуск bat как исправить?

    @antares4045
    res2001, Я с вами согласен, что те кейсы, о которых мы с вами спорим врядли имеют прямое отношение к данному топику, но прикол в том, что я ничего не "придумываю":
    1) Справедливости ради, не припомню таких случаев на десятке, но за 5 лет пользования семёркой и восьмёркой около сотни раз (да, не самая частая проблема) сталкивался с тем, что после запуска программы (хоть даблклик, хоть команда из консоли) несколько минут никакой реакции не получал, а затем всплывал запрос на получение прав админа. Как правило такие случаи больше бросаются в глаза, когда надо запустить что-то в фоне а потом срочно занять всё своё внимание чем-то другим. По некоторым косвенным признакам я убеждён, что иногда после долгого молчания программа таки запускалась а не спрашивала права. Причём происходило это не только на полудохлых лэтопах, но и машинах стоимостью в полугодовую получку мидла, разные вдадельцы, разная конфигурация и загруженность. Не факт, что тут дело именно в правах -- тут скорее интуиция, но я почти в этом убеждён.
    2) Меньше двух месяцев назад показывал одному, слегка отдалённому от питона айтишнику, основыне тезисы работы -- писали телеграм бота. И в какой-то момент обнаружили, что ботовской api не даёт доступа к одной интересующей нас метрике (конкретно, прочитал ли один пользователь сообщение другого) и для этого мы решили через субпроцесс поднять телеграм-клиент и подглядеть этот момент там: ждать от винды, когда она по просьбе питона поднимет ещё один питоновский процесс меньше минуты нам не пришлось ни разу. Когда мы завернули нашу программу в докеровскую виртуалку под арчём на том же компе оказалось, что питон может запускаться и за милисеунды. Вот уж не знаю, в чём там было дело, но мы мониторили производительность: более чем не слабый комп делал вид, что он ничего не делает, но поднять второй процесс питона рядом с первым без минутной задержки всеравно отказывался.
  • Очень долгий запуск bat как исправить?

    @antares4045
    res2001, дело в том, что это не проблема а... гм... особенность: unix-way делать цепочки маленьких отдельных подпрограмм, которые решают изолированые подзадачи -- програмист же на виндовс должен попытаться решить проблему через монолит. Третий пункт да: это прям беда, но широкому пользователю, по всей видимости, так проще -- компудахтер решает свои вопросы сам стараюсь максимально не тормошить пользователя вопросами.

    Адски бесящие вещи можно найти в любой операционке. Винда до сих пор единственная, которую чтобы всё криво-косо, но зарабатало, достаточно просто установить. Убунта, конечно, сделала большой шаг в сторону широкого пользователя, но её всеравно нужно подтачивать напильником, но и исторический фон (в том числе количество софта, да и дров под железо) несколько беднее.
  • Как обновить данные psycorp2?

    @antares4045
    Ну или эти айдишники внезапно оказались числами а не строками, и кавчки надо убрать)
  • Как обновить данные psycorp2?

    @antares4045
    Wearant, можно и без скобок и в данном случае будут выбраны записи у которых правильный и юзерайди и чатайди. И если у вас не так, то, вероятно, вы просто не правильно думаете, что лежит в базе (например не коммитите после инсерта/апдейта)
  • Очень долгий запуск bat как исправить?

    @antares4045
    Винда очень плохо справляется с поднятием дополнительных процессов, жирный энвайромент может долго активироваться: но это всё объясняет задержку в десяток-другой секунд, а не несколько минут.
    1) Добвьте отладочный вывод в начало программы (даже перед импортами) чтобы увидеть когда именно запускатся ваша программа, чтобы исключить интернет из списка проблем.
    2) гляньте на загрузку цп во время работы: маловероятно, но может из-за какой-то вирусни у вас просто комп не вывозит
    3) запустите батник от имери администратора (есть шанс, что это несколько сократит внутреннюю борьбу винды по многим вопросам (кстати иногда она может об это и на десяток минут споткнкться))
  • Как обновить данные psycorp2?

    @antares4045
    Wearant, окей убедили: в вашем случае калечащие данные прийти не должны, но всеравно не стоит вырабатывать не правильные привычки (я тот вариант упомянул просто как ответ, почему ваш код падал -- потому что в sql строки должны быть в кавычках)
  • Как обновить данные psycorp2?

    @antares4045
    Но вот имя
    Вася'; --
    По идее переименует в вась всех пользователей вашего приложения
  • Как обновить данные psycorp2?

    @antares4045
    Wearant, и настоятельно рекомендую придерживаться именно подхода с %s: упоминание инъекций какраз должно было натолкнуть вас, на то, почему второй предложеный мной вариант именно на крайний случай. Если какой нибудь умник решит представиться как
    Вася'; drop table users;--
    то ваше приложение от полного краха при использовании второго подхода спасёт только то, что вы используете execute а не executemany
  • Как обновить данные psycorp2?

    @antares4045
    Wearant, UPDATE users SET last_name= '{last_name}', first_name = '{first_name}' WHERE id = '{user_id}'
  • Какие нагрузки выдерживает бот на aiogram?

    @antares4045
    Voprosium, не уверен: мне всегда казалось всегда, что ддос это проблема хостера, а значит не вполне понятно что вообще они в этом пункте продают (всё, что мне приходит в голову, они по идее должны делать и так). Но велик шанс, что я просто чего-то не понимаю, плюс я обычно, если планирую долгое сотрудничество с поставщиком, готов и услугу "прокатило" оплачивать (хотя, это, вероятно, просто характерезует меня как терпилу).