• Какую платформу для телеграм-бота выбрать?

    trapwalker
    @trapwalker
    Не понял... а звёздочки для чего? Матерная платформа?
  • Почему не работает регулярное выражение?

    trapwalker
    @trapwalker
    Tamago4a, на этом ресурсе нельзя выдавать залания. Публикуйте конкретные вопросы по отдельности и вам помогут, но предполагается, что вы сами что-то делаете и чему-то учитесь. Иначе нужно идти к фрилансерам.

    Вот держите хороший инструмент дл яотладки регулярных выражений. Он же позволит буквально на коленке сбацать скрипт (например на питоне), который будет обрабатывать регулярным выражением входящие данные.

    В вашем случае не стоит городить одну единственную регулярку, которая порешает все вопросы.
    Я так понимаю, что у вас один кандидат на пароль в одной строке, вот и фильтруйте их отбрасывая лишние. К чему эти замены?
    То, что вы чистите базу паролея я понял из оригинального поста, но как именно вы это делаете и почему из всего этого не ясно. К примеру не понятно зачем, скажем, кратные пробелы заменять. Разве в пароле не может быть два пробела подряд? Опять же, я понимаю когда вы заменяете всю строку от начала до символа абзаца включительно на пустоту, так вы удаляете кандидата на пароль, но зачем вы тогда удаляете подстроки заодно? У вас кандидаты засорены ненужным текстом? Как вы решаете какой текст не нужен?

    То. что у вас там получилось при преобразовании кодировки показывает, что вы неверно выбрали исодную кодировку, отчего преобразование поломало часть символов.

    Попробуйте разделить задачи чистки подстрок и фильтрации строк на отдельные замены.
    Прочитайте про python и как сделать нужную вам операцию на нем. Пример можно получить с помощью того ресурса, что я вам показал выше по ссылке.
    Ещё есть замечательные утилиты линукса вроде grep. Поставьте ебе виртуалку с линуксом и делайте вашу задачу в командной строке в ней. Будет полезнее и проще, чем вот эти ваши игры с редактором. Серьёзно.
  • Почему не работает регулярное выражение?

    trapwalker
    @trapwalker
    Tamago4a, вот же люди любят сами себе изобретать геморрой.
    Работайте в utf-8 и не будет проблем с не ascii-символами.
    Нафига всё лепить в один регексп мне не понятно. Вы не написали для чего вам это нужно.
    2- звёздочка - это квантор, соответстующий любому количеству включая нулевое. Вам же нужно более одного. В вашем регэкспе подходящая конструкция встречалась, но, похоже вы этот регексп откуда-то срисовали или кто-то вам подсказал. Теперь вот вопрос превращаете в адание. Мне кажется вам рановато решать такие задачи не понимая как рабаотают регулярные выражения.
  • Почему не работает регулярное выражение?

    trapwalker
    @trapwalker
    Tamago4a, очевидно под линуксом, например.
    В винде вообще используется анахронизм со времен телетайпов. Символ перевода строки отдельно, а возврата каретки отдельно. Из-за этого зоопарка стандартов новички часто делают много ошибок. Было бы куда проще и полезнее постепенно избавляться от устаревших стандартов в пользу более простых и универсальных современных решений. Но у этой медали есть две стороны. Стандартные библиотеки и качественные редакторы позволяют прозрачно и без сбоев работать не только с разными форматами абзацев, но и со смешанными типами в одном файле. Из-за этого никто всерьёз не озабочен отказом от анахрнизмов. Работает, как говорится, не трожь. Вот и не трогают.

    То же самое касается чехарды с виндовыми однобайтовыми кодировками cp1251, cp866... Вот эти вот кодировки отняли миллионы человекочасов у тех, кто сэкономил время на понимании как правильно работать с кодировками. А что теперь экономить-то на байтиках? Почему не закопать этот анахронизм?
  • Python - как облегчить скрипт Python?

    trapwalker
    @trapwalker Куратор тега Python
    Name_Zagotovka,
    Просто измеряйте время выполнения одной итерации, вычитайте его из ваших N секунд и на оставшееся время делайте задержку.
    Так вы не будете тратить всё процессорное время на проверку не наступило ли время сделать скриншот.
    Гарантировать любой призвольный интервал не получится. К примеру, если одна проверка длится секунду, то раз в пол секунды вы не сможете делать эту проверку в рамках одного процесса.
  • Telegram Bot на Python - почему не работает функция инлайн кнопки?

    trapwalker
    @trapwalker Куратор тега Python
    Вам тонко намекают, что публиковать код в вопросе картинками - это лютое неуважение к сообществу, от которого ожидаете помощь.
  • Как хранить схемы диалогов для чат-бота?

    trapwalker
    @trapwalker Куратор тега Python
    prochanev, Только вот диалог в общем случае - это не дерево. а, всё же, граф. В дереве не бывает циклов, а в диалогах иногда полезно перепрыгнуть в какое-то конкретное состояние прямым переходом.
    Это значит, что, скорее всего, у вас будут следующие сущности:
    Бот(токен, название, ...)
    УзелДиалога(
        бот, 
        название, 
        обработчик_входа, 
        обработчик_выхода, 
        признак_стартового, 
        признак_терминального, 
        дефолт_контекста, 
        оверрайд_контекста_при_входе,
    )
    Переход(
        исходный_узел, 
        условия_перехода, 
        целевой_узел, 
        сообщение, 
        [кнопки], 
        оверрайд_контекста,
    )
    Состояние(чат, бот, текущий_узел, текущий_контекст)

    К этому всему можно прикрутить ещё суб-диалоги. Тогда у узла появится флаг, который делает узел субдиалогом и появится необязательная ссылка на родительский субдиалог. У такого субдиалога обязательно должен быть только один вход и два выхода: штатный и аварийный. Хотя в общем случае выходов может быть и больше, просто труднее будет за ними следить. Также можно сделать стек состояний для рекуррентных субдиалогов. Это усложнение тоже за пределами MVP и потребует аккурантности воизбежание бесконечной рекурсии.

    Ещё можно предусмотреть переходы с автономными условиями, то есть условиями. не требующими реакции пользователя. Тогда в диалогах могут быть формальные узлы и переходы, которые не показывают пользователю сообщений и кнопок, но меняют его состояние в соответствии с внутренними или внешними факторами: временем суток, рандомом (для вариативных синонимичных ответов, для игр), текущего контекста пользователя.

    Такую же схему можно предусмотреть для навыков голосовых помощников, для диалоговых меню в телефонии, для системы квестов в играх.
    В частности похожая струткура использовалась мной в одной ММОРПГ, которая почила уже в бозе.
    Только там это хранилось не в реляционной базе, а в специальном реестре, реализованном поверх Монги.

    UPD:
    Кстати! Забыл уомянуть. Рассмотрите вариант хранения диалогового графа в yaml-файлах. Это очень удобно, поскольку граф можно будет мнемонично хранить в системе контроля версий, отслежиать изменения, версионировать. Отдельные ветки диалогов (Узлы и Переходы) можно хранить в отдельных файлах, названия узлов должны быть уникальны в пределах файла, ссылки на узлы по пути к файлу и имени узла. Переходы можно описывать прямо внутри узла, там же или в отдельных файлах можно размещать функции-обработчики состояний и переходов. Именно так были реализоаны квесты у нас в ММОРПГ и эти квесты можно было достаточно прозрачно и быстро править и создавать новые.
    Так диалог (или субдиалог) у вас будет обычным каталогом или файлом по аналогии с питоновским пакетом или модулем. Внутри помимо yaml-файлов описания графа можно размещать картинки, разный статический медиаконтент бота и текстовые файлы с фрагментами сообщений на разных языках или шаблонами ообщений под Jinja.
    При такой организации большие куски графов диалогов вполне можно публиковать как подключаемые библиотеки.
    Например, универсальный диалоговый модуль продажи билетов можно подключить к готовому боту концертной площадки. При необходимости какие-то Узлы можно перекрыть сверху своими модифицированными.
  • Куда девать неиспользуемые пины Ардуино?

    trapwalker
    @trapwalker
    Tururupark, вот попадаются прикольные крутые проекты. же=) Класс.
    А я зашел прислать адрес приёмки цветмета для сдачи неиспользуемых пинов=) А оно вон оно как.
  • Как отсортировать по ORDER BY используя ещё и rowid?

    trapwalker
    @trapwalker Куратор тега Python
    TanderOFF, и почему вам для этого первый тип запроса не подходит? Ставьте условие. что голосовая активноть больше активности вашего юзера и считайте сколько таких юзеров. у которых больше. Прибавляйте единицу и получите нужное место.
    К римеру, если среди всех юзеров только пять имеют большую активность, чем у вашего, то то вы на шестом месте. И шестое место вы делите с другими юзерами, которые имеют точно такую же активность, как у вас.
  • Почему данные о GPS не сохраняются при скачивании из Google Photo?

    trapwalker
    @trapwalker
    Я пользовался отдельным старым трекером (Holux-M241), но модель не принципиальна. Трекер пишет трек, а отдельная прога обрабатывает фотки и привязывает их к треку. Фактически прога смотрит в EXIF время съёмки и находит в треке координаты точки с таким же временем. Координаты прописывает в EXIF.
    Единственный был нюанс - это поправка. Бывает время в фотике долго не трогаешь и оно там оказывается неточным. Чтобы не возиться с установкой точного времени, после каждого вытаскивания аккума из фотика просто выставляешь дату и примерное время, а потом делаешь снимок экрана GPS-приёмника с точным спутниковым временем. Потом при слиянии координат нужно на каждую серию фоток после такого опорного кадра делать поправку на разницу между временем снимка и точным временем на экране прибора на фото.
  • Что изучить в первую очередь для веб сайта?

    trapwalker
    @trapwalker
    Боюсь, что, судя по вопросам, наш новоиспеченный веб-мастер не знет что такое править код в "мастере", не понимает чтотакое dev, как это "накатить" (хотя, думаю, догадывается, что это не про алкоголь), каким образом отличить дев от мастера, о чем гуглить. Мне кажется, что тут, если лишний раз не гуглить, то и угробить сайт не получится, а вот если гуглить и начинать выполнять разные команды в консоли, то с такой подготовокой за один день - пиши "пропало".
    Можно попробовать притвориться мёртвым, а потом убежать и спрятаться.
  • Что изучить в первую очередь для веб сайта?

    trapwalker
    @trapwalker
    Завтра мне дадут автомобиль, чтобы я на нём развозил пиццу, чизбургеры, колу и суши. Что мне понадобиться изучить и какие учебники прочитать, чтобы это делать? Что я вообще увижу, когда мне дадут машину? Как начать ехать, куда нажимать, за что дёргать?
    Теги: транспорт, автомобилестроение, пищевая промышленность.
  • Что изучить в первую очередь для веб сайта?

    trapwalker
    @trapwalker
    Будьте осторожны. Если сервер перекинут издалека, то им может и убить.
    Вы увидите, скорее всего, летящий металлический параллелепипед шириной 19 дюймов, толщиной 44 мм, а длиной как повезёт. Постарайтесь отбить его чем-нибудь твёрдым на подлёте, например лопатой, или просто увернитесь, углы у него очень травмоопасны.
  • Sorted Object в Python. Миф или реальность?

    trapwalker
    @trapwalker Куратор тега Python
    sadfun, скорее всего в 2.5 это было
  • Что предпочтительнее в python - проверять значение в словаре или обработать исключение исключение?

    trapwalker
    @trapwalker Куратор тега Python
    shurshur, верно. Вопрос тут в масштабном коэффициенте. Тут же с кэшированием просто частный случай, а так полезно понимать как именно будет эффективнее. В данном случае исключение будет работать быстрее, хотя интуитивно кажется иначе. Если заглянуть в исходники встроенных библиотек, там тоже часто именно так поступают, а не мим (третьим) способом, который кажется более питнячьим.
    Иногда есть ситуации. когда переезжать на Си еще равно, но оптимизироваться уже можно разгрузив какое-то узкое горлышко раза в полтора вот таким вот способом.
    К примеру, мне приходиось писать реалтаймовый сервер для ММОРПГ на питоне и там такого уровня оптимизации уже не были бессмысленными и позволяли существенно уменьшить накладные расходы на шардирование навалив больше клиентов в один инстанс и сделав более редкой необходимость сериализации\десериализации при передаче юнитов между шардами..
  • Что предпочтительнее в python - проверять значение в словаре или обработать исключение исключение?

    trapwalker
    @trapwalker Куратор тега Python
    Но как ни парадоксально, в данном случае это все же самый быстрый способ, а ошибку конечно нужно перехватывать конкретную.
  • Как это сверстать?

    trapwalker
    @trapwalker
    очевидно же! Хоспаде))

    Эмиль Рахматуллин, я же о чем! Очевидно как верстать! Не понятно что не понятно.
  • Как это сверстать?

    trapwalker
    @trapwalker
    Эмиль Рахматуллин, так надо в вопросе это оговаривать. И ещё пояснять как должны выглядеть 0, 12, 44 очка..
    Тот голос, что вы слышите у себя в голове, никто больше не слышит.
  • Как это сверстать?

    trapwalker
    @trapwalker
    Эмиль Рахматуллин, да, вы как-то уж детальнее описываейте своб проблему. а-то нам тут на кофейной гуще гадать предлагаете? Я никакой проблемы не вижу, а в чем она у вас там эта проблема - изложите. Или за вас сверстать надо целиком?
    Задания тут нельзя постить