Задать вопрос
  • Телеграм бот на Python как достать telegram id из @username?

    @Everything_is_bad
    Так пусть будущий администратор напишет боту, так у тебя будет и id, и username. Записывай всё это в бд и через какую-либо админку подтверждай, ну или другой админ должен боту послать username, который будет сопоставлен с данными из базы.
    Ответ написан
  • Как задать команды администраторам чата в частной супергруппе Telegram?

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

    chat_id 	Integer or String 	Unique identifier for the target chat 
    
    or username of the target supergroup (in the format @supergroupusername)


    И, надеюсь, вы прочли, что Command Scopes это только чтобы показывать доступные команды разным группа юзеров. И ничто не мешает рядовому бесправному юзеру прислать боту команду вроде /make_me_admin

    Ответственность только вашего бэкенда – каждый раз проверять, уполномочен ли юзер использовать ту или иную команду, что он прислал.
    Ответ написан
    3 комментария
  • Pytest. Почему декоратор не записывает в файл логи?

    Vindicar
    @Vindicar
    RTFM!
    with tempfile.NamedTemporaryFile(dir=custom_dir, delete=False, mode="w") as temp_file:

    Немедленно по выходу из with файл закроется, и будет удалён.
    Ответ написан
    2 комментария
  • Ошибка BUSINESS_PEER_INVALID в aiogram, как решить?

    @malsem32 Автор вопроса
    Проблема решена, может кому понадобится, нужно поставить ответы на сообщение, там где добавляется бот
    Ответ написан
    Комментировать
  • Как цикл for влияет на формирования списка?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Дело не в цикле for. Функция pair возвращает генератор, а генератор можно обойти только один раз.
    Ответ написан
    Комментировать
  • Где взять полный список городов России в JSON?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Возьмите ФИАС и выдерните из неё данные в любом удобном вам виде.
    Ответ написан
    Комментировать
  • Почему не все упоминания юзеров Telegram кликабельны?

    @twistfire92
    Python backend developer
    Смею предположить, что пользователь, на которого ссылка не кликабельна, с ботом сам еще не общался.
    Во всяком случае я именно с таким сталкивался. Перекинул БД с одного бота на другого, и ссылки на пользователей стали не кликабельными, пока эти пользователи с новым ботом впервые не поздоровались
    Ответ написан
    1 комментарий
  • Какие ошибки в понимании объектов?

    Maksim_64
    @Maksim_64
    Data Analyst
    (3).__class__- здесь объект создался, затем ты обращаешься к его атрибуту.

    3.__class__ - здесь при его создании произошла ошибка (если быть точным даже на стадии парсинга ошибка), питон пытается спарсить, как float, и у него естественно не получается.
    Ответ написан
    Комментировать
  • Как реализовать стартап и сохранить авторское право?

    @rPman
    Идеи стоят мало, если идея ценная - патентуй, как минимум в ее защите тебе поможет государство, но только на территории своей страны,и глобально защиту искать получится очень дорого, только очень ценные идеи этого стоят, что очень редко. Чаще патентуют идеи не для того что бы идею не украли, а что бы защититься от мошенников, которые возьмут вашу идею, запатентую быстрее вас и призовут государство что бы вас 'наказать' (и это очень 'хорошо' работает, к сожалению).

    Для создания чего либо нужен тот кто найдет, организует, проконтролирует... будьте тем кто этим займется, ну а без этого идея не взлетит.

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

    p.s. не ищите 'специалиста по ИИ', лучший способ вас обмануть, ведь если что то не получится, это 'не человек виноват а ИИ несовершенен'. Ищите специалиста для решения конкретной задачи.

    p.p.s. вам придется сделать ставку, либо своими деньгами, либо своим временем и 'уникальной идеей', вам придется пойти на риск.
    ----

    Есть замечательная техника, проверенная временем - 'разделяй и властвуй'. Не говорите никому всю информацию целиком, разделяйте ее, каждому сообщайте ровно столько, сколько нужно для решения задачи.
    Ответ написан
    21 комментарий
  • Как правильно спроектировать микросервисную архитектуру?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Правильно для чего именно? Прежде, чем что-то проектировать надо определиться с конкретными требованиями вашей задачи. И уже исходя из требований и ограничений проектировать архитектуру и прочее. Если требования неизвестны, то делается минимальный прототип, испытывается, результат записывается, анализируется и делаются какие-то выводы. При отсутствии результата - прототип допиливается до MVP и так далее. И вот уже по этим выводам принимаются какие-то решения - сделать другую архитектуру, изменить что-то в текущей архитектуре, как-то её дополнить/доработать или оставить как есть.
    Ответ написан
    4 комментария
  • Как исправить ошибку тг бота?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    YouTube ужесточил политику в отношении пользователей, которые скачивают видео "без разрешения". Самый правильный вариант - это генерация poToken, но это достаточно трудоёмкое занятие. Сейчас разработчик и команда неравнодушных пользователей (в числе которых и я) думают над решением этой проблемы.
    Пока нашли такое решение-костыль:
    1. Заходите в папку где хранится pytubefix. Обычно это
    C:\Users\<User>\AppData\Local\Programs\Python<version>\Lib\site-packages\pytubefix

    2. Идете в __main__.py
    3. Там находите функцию check_availability и убираете (просто удаляете) вот этот кусок кода:
    elif reason == (
        'Sign in to confirm you’re not a bot'
    ):
        raise exceptions.BotDetection(video_id=self.video_id)

    Все должно заработать
    Ответ написан
    2 комментария
  • Как принимать деньги от физиков и передавать их другим людям онлайн без юрлица или ИП?

    vabka
    @vabka Куратор тега Веб-разработка
    1. Юридическое лицо обязательно придется завести

    2. Налоговая в любом случае увидит тут признаки дохода и ты будешь обязан взимать НДФЛ с исполнителей, как налоговый агент.
    Вот и требование отчитываться в налоговую.
    Вот тебе, получается, нужно узнавать полные данные и ИНН исполнителей.
    Вот и закон о персональных данных кокетливо машет рукой, а РКН ждёт от тебя стопку бумаг о том, как ты с этими ПД работаешь и как защищаешь. Очень возможно, что придётся ещё потратиться, чтобы всем требованиям соответствовать.

    3. А ещё тут очень легко можно попасть на отмывание денег. Возможно, для того что ты хочешь сделать, нужно ещё получать лицензию. Стоит проконсультироваться с юристом по поводу того, какой у тебя ОКВЭД тут будет.

    4. Учитывая это - я хз как ты собираешься не получать с этого прибыль. Ибо только на то чтобы запустить такой сервис и чтобы он работал придется немало денег вложить и регулярно тратить.

    Без юридического лица можно попробовать крипту, но тут тоже есть нюансы, начиная опять же с комиссий(говорят есть варианты с небольшой комиссией) и волатильности (по идее есть стейблкоины, но и они умеют обваливаться), заканчивая серым статусом, зато всего остального получится избежать.
    Ответ написан
    14 комментариев
  • Можно ли как то связать два разных банка из разных стран в одном проекте?

    Wispik
    @Wispik
    Спрашивать у пользователя, хочет он оплатить российской картой или нет. И в зависимости от ответа перекидывать на нужный банк
    Ответ написан
    Комментировать
  • Как сделать всплывающее на несколько секунд окно после нажатия на кнопку в тг боте на Python?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Когда уже научитесь доки читать?
    bot.answer_callback_query(call.id, text="Ваше сообщение")

    show_alert вам не нужен
    Ответ написан
  • Не могу доделать Chat GPT бот для Телеграмма, в чем проблема?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Потому что автор сам дурак, не проверил код перед тем как его выкладывать. У него модуль threading не импортирован. Добавьте в начале файла import threading и всё будет ОК
    Ответ написан
    1 комментарий
  • TypeError: __init__() takes 1 positional argument but 2 were given у меня проект на aiogram плюс sqlalhemy ,но я совсем недавно начал?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега SQLAlchemy
    Седой и строгий
    Ошибка подчёркнута же в бэктрейсе, чего её искать? Что по вашему делает строка User(tg_id == tg_id)?
    Ответ написан
    1 комментарий
  • TypeError: __init__() takes 1 positional argument but 2 were given у меня проект на aiogram плюс sqlalhemy ,но я совсем недавно начал?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    и не говорить мне учиться
    Именно это я и скажу. Мы должны все разжевать и вам в рот положить?
    но я совсем недавно начал
    Это не даёт вам права не учиться
    прошу найти именно ошибку
    Вот именно поэтому, я и посылаю вас учиться.
    я уже задавал этот вопрос
    А это чревато его удалением или даже баном.

    Ну и как я вам уже говорил 12 дней назад
    Учиться, учиться и ещё раз учиться. А не ботов писать.
    Ответ написан
  • Как правильно создать и разделить разные функции под одним хендлером?

    @Redeve
    Веб-макаке не хватит и 640гБ
    Создайте один общий хендлер - точку входа для текстовых (всмысле - не для /команд) сообщений, которые не обработались другими хендлерами. И в словаре определите что за что должно отвечать

    что-то типа такого
    def text_handler(...): # <<<  этот хендлер регистрируем
        secondary_handlers = {
            "О нас": about_us,
            "Чем займемся?": whats_next,
            "текст": handler_for_text
        }
        if handler := secondary_handlers.get(message.text):
            handler(message)
    
    def about_us(...): ... # < а эти нет
    def whats_next(...): ...


    удобство такого варианта - список и точку входа определяем в условном bot.py, а обработчики для них можно импортировать откуда угодно
    Ответ написан
    Комментировать
  • Как правильно создать и разделить разные функции под одним хендлером?

    Vindicar
    @Vindicar
    RTFM!
    Читаем документацию и учимся использовать встроенные средства бот-библиотеки.
    @bot.message_handler(func=lambda message: message.text == 'О нас')
    def blabla1(message):
        ...  # тут логика реакции на сообщение "О нас"
    
    @bot.message_handler(func=lambda message: message.text == 'Чем займёмся?')
    def blabla2(message):
        ...  # тут логика реакции на сообщение "Чем займёмся?"
    
    @bot.message_handler(func=lambda message: True)
    def whatever(message):
        ...  # тут логика реакции на все остальные сообщения. Эта функция должна идти строго последней.
    Ответ написан
    Комментировать
  • Как создать фоновую задачу в боте?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    aiogram==2.25.1

    Сколько раз твердили миру... Да не используйте вы 2.x! В 21 веке все уже перешли на 3.x

    Как мне такое реализовать, с учетом того, что я <...> в асинхроне ничего не понимаю?

    Так может надо что-то понять? Почитать, поразбираться, для начала?

    Вывод: готовый код никто за вас писать не будет. Изучайте сначала программирование и базовые основы, а потом рвитесь в бой. Тем более, если это ваша "хотелка" и она не к спеху
    Ответ написан
    8 комментариев