• Шифрование RSA в PYTHON. Как изначально генерировать публичный ключ, а на другом устройстве имея публичный генерировать приватный?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Сделайте такое - и все хакеры мира Вам памятник поставят. Из чистого золота.

    Восстановить по одному ключу второй - невозможно. Гуглите на тему криптографии с открытым ключом.
    Ответ написан
    Комментировать
  • Как пофиксить RuntimeError: This event loop is already running?

    Vindicar
    @Vindicar
    RTFM!
    Разработчик - идиот и не подумал, что его код может вызываться в асинхронной программе. Либа валится не только в асинхронной программе, но и в Jupyter Notebook, и в Google Collab, потому что и тот и тот по природе асинхронные. Фикс обещается с прошлого мая, а воз и ныне там.
    Но на гитхабе описан костыль с пакетом nest-asyncio. Попробуй его. Просто поставь пакет и добавь в начало кода бота:
    import nest_asyncio
    nest_asyncio.apply()

    С моей точки зрения это грязнущщий хак, но всё же лучше чем ничего.
    Ответ написан
    5 комментариев
  • Как пофиксить ошибку Peer id invalid в pyrogram?

    @estes_rf
    Вот только бился с такой проблемой, потому пишу. Там в самой библиотеке ошибка, принимает ограниченный диапазон значений групп и каналов. Ставим вверху фикс:
    def get_peer_type_new(peer_id: int) -> str:
        peer_id_str = str(peer_id)
        if not peer_id_str.startswith("-"):
            return "user"
        elif peer_id_str.startswith("-100"):
            return "channel"
        else:
            return "chat"
    
    utils.get_peer_type = get_peer_type_new

    И ветка на гитхабе:
    https://github.com/pyrogram/pyrogram/issues/1314
    Ответ написан
    1 комментарий
  • Как получить список пользователь группы телеграмм aiogram?

    @alexbprofit
    Junior SE
    Никак, это можно сделать только с помощью pyrogram:

    https://docs.pyrogram.org/api/methods/get_chat_members
    Ответ написан
    Комментировать
  • Читайте детали вопроса. Как получить список пользователей чата aiogram?

    ivankarmanow
    @ivankarmanow
    Начинающий программист
    Как уже сказали, через простого бота такое реализовать не получится, так как такого метода нет в Bot API. Можно реализовать с помощью юзербота через MTProto API (telethon, pyrogram), а его подключить к вашему боту на aiogram. К примеру в aiogram боте будет примерно такой код:
    import userbot
    
    @dp.message_handler(commands=['get_users'])
    async def get_users_handler(msg: types.Message):
        chat_id = 123 // получаешь от юзера ID чата, который надо спарсить
        members = userbot.get_users(chat_id)

    А в файле userbot подключаешь telethon или pyrogram и пишешь что-то вроде этого:
    async def get_users(chat_id: int) -> list:
        // получаешь всех участников чата через telethon/pyrogram и возвращаешь
    Ответ написан
    Комментировать
  • Какой компилятор выбрать для C++?

    TrueBers
    @TrueBers
    Гуглю за еду
    Самый древний и популярный компилятор — это GCC. Он поддерживает миллиард платформ, хорошо фичи новых стандартов умеет, стабильный, быстрый. Классика, работающая всегда и везде. Версия для винды ставится либо из Mingw-w64, он довольно прилично отстаёт от основной ветки, но работает неплохо. Либо можно поставить из пакета MSYS2, там всё свежее и постоянно обновляется.

    Visual Studio — если вы начнёте с неё, то потом будет очень тяжело перейти на другой компилятор, всё будет непривычно и ничего не будет работать. Ибо вижуал студия подразумевает тесную интеграцию IDE и компилятора. Ко всему прочему, если вы пишете код в вижуал студии и он компилируется, это ещё не значит, что код соответствует стандартам, и будет компилироваться где-либо ещё. Так как майкрософты, по классике, клали большой и толстый на все эти ваши стандарты. Да, IDE у них более-менее юзабельная, но у компилятора своя атмосфера.

    Ну, и самый, на мой взгляд, прогрессивный и удобный компилятор — clang. Очень молодой, но очень фичастый. Очень удобные сообщения об ошибках, всё понятно и наглядно. Поддерживает даже черновики и пропозалы новейших стандартов. Для новичка, более чем, рекомендую! Поставить его для винды можно всё из того же пакета MSYS2. Можно, конечно, качать сборку с официального сайта, но она не всё поддерживает в винде. Ещё есть вариант поставить clang вместе с Visual Studio 2017 Community. Там есть такая фича, не пробовал, правда, но в теории, должно работать.

    В качестве IDE ещё могу посоветовать Clion. Крутая штука, хоть и тормознутая малость. Из мелких и легковесных — juci. Очень шустрая современная штука, правда, пока не особо чего умеет.

    Так же, для обучения сразу включайте все ворнинги, все ошибки, отключайте расширения компиляторов. Ибо привыкните к ним, а потом поймёте, что это не стандарт и будет очень непривычно.
    Ответ написан
    Комментировать
  • Windows 11 не видит HDD. Что делать?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    На материнских платах часто использование M2 диска отключает 1 или 2 порта SATA, так как используется один контроллер.
    Переключите SATA кабель в другие порты на материнской плате.
    Ответ написан
    Комментировать