• Как сделать так, чтобы телеграмм бот отвечал определенным сообщением на неопределенное?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Положим, у вас есть ряд определенных сообщения, значит у вас будет примерно так:
    Если входящее сообщение входит в список определенных, отвечаем сообщением, определенным для определенных; иначе отвечаем сообщением, специально определенным для неопределенных сообщений.

    ЕВПОЧЯ.
    Ответ написан
    Комментировать
  • Парсинг виджета AppEvent через GColab?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Коротко: никак. BS4 не решает вашу проблему. Это просто разбиралка полученного текста.
    Вам надо получить текст, а его, конечно, генерирует какой-то код, вероятно JS, который вам загружает страница, но он у вас не исполняется, так как requests не умеет исполнять код JS.

    Есть два пути:
    • Разбираться, что за код загружается, и как-то его пытаться выполнить, или сгенерировать запросы, которые этот код шлет;
    • либо использовать управление браузером, который это всё проделает. Типа webdrive (Selenium и т.п.)


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

    P.s.: Вроде бы есть какие-то библиотеки типа requests_html, якобы умеющие в JS, поищите.
    Ответ написан
    2 комментария
  • Как вставить фото через ссылку в телеграме не отображая ссылки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Посмотрите тут
    Тут показано, как получить объект изображения из URL при помощи библиотеки PIL. Когда будете с PIL разбираться, поищите тут по сайту есть много вопросов о том, как с ним бороться.

    В этом примере используется отправка объекта по URL в телеграм.
    Об это подробнее почитайте тут

    Но у вас в коде написано bot.send_message(…)
    bot это очевидно экземпляр класса, а .send_message(…) его метод. Очевидно, внутри этих класса и метода спрятаны механизмы отправки, подобные описанным выше во второй ссылке.

    Но их точное содержание нам неизвестно. Поэтому мы точно не знаем, можно ли использовать в вашем боте объект из первого примера и как именно.
    Вам надо прочесть код, на котором построен ваш бот, разобраться, как именно он устроен и какое отношение имеют его методы к описанным во второй ссылке подробностям.

    Тогда у вас будет два варианта:
    Вы обнаружите, что в вашем боте всё прекрасно и осталось лишь правильно передать объект изображения, тогда смотрите первую ссылку.
    Вы обнаружите, что в вашем боте надо дописать специальный метод для отправки именно таких объектов, тогда дописываете на основе первой ссылки с учетом сведений из второй ссылки.
    Также имеет смысл почитать API телеграм, там могут быть какие-то уточнения относительно сведений по ссылкам, может уже что-то поменяли.
    Ответ написан
    Комментировать
  • Как создать offline карту на python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Надо нанять профессионала, заплатить ему аванс и дать ему задание. Затем получить результат и проверить на соответствие заданию. После доведения результата до финального соответствия заданию оплатить расчет.
    Ответ написан
    Комментировать
  • Как исправить ошибку "AttributeError: 'set' object has no attribute 'items'" в дискорд-боте?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В вашем коде несколько ошибок, одна из них - в качестве headers ожидается структура типа «словарь» («dict»), а вы создаете тип «множество» («set»).
    Должно быть что-то вроде:
    headers = {'user-agent': 'my-app/0.0.1', 'token': 'Токен есть если что'}

    и так далее, это прям из документации по requests

    Вторая ошибка - for lines in lines:
    очевидно надо что-то вроде
    for line in lines:
        …json = {"content": line}


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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вверху сайта есть строка поиска. Введите туда строки ffmpeg pyaudio и вы обнаружите, что этот вопрос задают тут еженедельно или чаще. Воспользуйтесь любым из ответов на предыдущие аналогичные вопросы.
    Ответ написан
  • Почему в моем коде в функции mehanika2 не вызывается функция menu1?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вероятно, никогда не выполняются условия if-ов.
    Ответ написан
    Комментировать
  • Как добавить новую пару в существующий словарь Python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    С телефона не осилил код, но в общем случае добавлять надо так:
    my_dict = {“key”: “value”}
    my_dict.update({“new_key”: “new_value”})
    Ответ написан
  • Звук из блока питания не при нагрузках. Почему?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Вот гуглинг выдал:
    https://m.youtube.com/watch?si=yOI-n2awYJxyJaun&v=...
    Видимо, ваш случай где-то рядом.
    Конечно, такой колхозный ремонт не рекомендую, но с другой стороны БП большего и не заслуживает…
    Ответ написан
  • 'NoneType' object is not iterable, что делать?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Элементарно, Ватсон:
    Метод .remove() всегда возвращает None.
    Ответ написан
    2 комментария
  • Как улучшить код?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Улучшить можно по разным направлениям.
    • С одной стороны, новые версии python предоставляют новые возможности, которые могут позволить сделать код плотнее и аккуратнее, к примеру заменить гирлянды if/elif на match/case.
    • С другой стороны, можно доработать надежность программы, обработав крайние случаи, потенциальные ошибки и др.
    • С третьей стороны - рефакторинг по подобным друг другу фрагментам, где делается практически одно и то же, к примеру функции про рестарт практически однотипны и можно свести к одной функции с набором параметров.
    • А можно рефакторить еще глубже, сделать класс типовых приложений, обладающий типовыми методами, от него наследовать каждое приложение вашей программы, ну и всё вот это вот ООП и т.п.
    • Можно все текстовые строки вынести в файл статики и оттуда подтягивать, и если хорошенько подумать, то еще и сделать возможность выбора языка.
    • А еще обвешать всё юнит-тестами.

    Да мало ли…
    Глубоко не вчитывался, но есть над чем поработать.
    Ответ написан
    1 комментарий
  • Как сделать случайную генерацию мира в pygame?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Есть два подхода - готовые уровни и генерация уровней.

    В конкретном случае судя по коду у вас готовый уровень и парсер готового псевдографического уровня. Т.е. ваш код разбирает ранее сделанную строчную псевдографику и переводит ее в объекты, экземпляры классов.

    Для генерации рандомных миров должно быть наоборот: экземпляры классов генерятся с определенными параметрами, включая координаты, а затем отображается псевдографическая «карта» с нанесением этих заранее сгенеренных объектов.

    В общем случае вам надо копать тему «процедурная генерация уровней». На эту тему очень много уже наработок, нет смысла изобретать свой велосипед.

    Рекомендую искать и читать о процедурной генерации псевдографических уровней игр. Там не всё вам подойдет прям «в лоб», но кое-что будет полезным.
    Ответ написан
    Комментировать
  • Подойдет ли Macbook pro 2013 для программирования в веб разработке?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    На пару лет хватит, если не произойдет революции в электронике. Потом либо вы востребованы на рынке и у вас достаточно заработка для покупки нового, либо не имеет смысла тратить деньги на что-то более дорогое, надо менять профессию.

    На любом б/у ноутбуке (не только макбук) заложите еще 3 тыс. на замену аккумуляторов, вентиляторов, термопасты. Это с покупкой на авито и самостоятельно, или работа +2 тыс.

    Для макбуков еще заложите замену/ремонт блока питания (у штатного провод часто приходит в ужасное состояние).

    про БП для макбука
    Мне хороший БП 150 китайских ватт, хороший кабель type-c 100 ватт и хороший переходник type-c/magsafe обошлись еще в 5 тыс.
    Ответ написан
    Комментировать
  • Ничего не понятно, что делать?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Всё как написано в коде:
    • Выбрать случайного персонажа
    • Выбрать случайное сообщение
    • В цикле отправить выбранному выбранное n раз.

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Изопропиловый спирт в ультразвуковой ванне.
    Ответ написан
    2 комментария
  • Как мне выполнить sql запрос?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Необходимо создать третью таблицу, соединительную Moneys-Posts, в которой каждой такой реальной паре соответствует уникальная запись money_id - post_id. Это вы можете прочесть в ЛЮБОЙ книге по SQL.
    И совершенно ни к чему тут тэг python, он никакого отношения к сути вопроса не имеет.
    Ответ написан
    1 комментарий
  • Что может трещать в вентиляторе ноутбука?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Заменить. На Али от 500 руб стоит.
    Ответ написан
    2 комментария
  • Как в цикле менять название объекта/переменной?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Если у вас в коде появились именованные переменные, вам скорее всего нужны списки или словари.
    Ответ написан
    5 комментариев
  • Насколько приемлема такая проверка на четность (делимость) в Python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Чтоб было совсем уж явно и правильно:
    if bool(a % 2):
    Ответ написан
    3 комментария
  • Как получить информацию сервера с помощью библиотеки python-valve?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Надо смотреть, какой тип возвращает метод .info()
    Возможно, это список, строка или другую подобную структуру. Тогда оно ждет не ключ, а порядковый номер.
    Ответ написан
    6 комментариев