3FANG, посмотртел внимательно. Да, на 28 запуске генератор уходит в sleep, а на 29 запуске обнаруживается, что он уже считает очерезно элемент, который уже кто-то await.
Зачем вообще всё это нужно? Если хочется рейтлимитить запросы, то это не так делается, не надо спать в генераторе. Лучше уж тогда спать непосредственно в тасках через равные количества запросов. Или делать полноценное лимитирование, например, с помощью aioratelimiter.
YX1978, вот например я открыл консоль и нашёл такой скриптик:
function x656() {
var c656 = "26408ffa703a72e8ac0117e74ad46f33";
window.location.href = atob("aHR0cHM6Ly92c2VpZ3J1Lm5ldA==");
}
window.location.hostname !== atob("dnNlaWdydS5uZXQ=") && setTimeout(x656, 1e4);
Если этот скриптик не будет удалён в скачанных страницах, то любая страница будет автоматом редиректить на сайт игры. И весьма возможно, что это не единственная там закладка подобная.
YX1978, легко качаются сайты, которе состоят из статических страниц с картинками, лучше без js и даже css. Тогда можно качать страницы, автоматизированно находить в них ссылки и докачивать. Это умеет стандартный инструмент wget.
Однако современные сайты - как уже говорилось - часто имеют далеко не только статичный контент. Они имеют скрипты, динамически подгружают данные, используют серверный API итд итп.
Вот на этом сайте, например, сразу видно наличие скриптов, HTML5, возможно там и API есть (не изучал глубоко). Каждая игра может содержать множество данных, различную логику, всякие ресурсы, и всё это требует изучения. Допустим, разберёмся мы в устройстве части игр и поймём, как докачать там нужные ресурсы, но вдруг некоторые игры устроены иначе?
Да и когда мы всё это сделаем, надо это как-то заставить работать, в том числе не на доменном имени основного сайта.
Это большая работа, которую нельзя сделать приложением с кнопкой "сделать хорошо". Тут сидеть и планомерно разбираться.
Тут нет никакого объекта. Инструкции вида for obj in generator() по факту вызывают generator() который генерирует итератор заново.
Можно, например, сделать класс, в котором метод отдавал бы следующий по нужным правилам элемент генератора. И экземпляр этого класса (заранее созданный) передать всем задачам.
Karen Kratyan, нет такого сервиса. Потому что шлёт код телеграм, сервис ничего с этим сделать не может. Так что или покупать симку самому, или искать сервис, который за деньги клиента оформляет новую симку.
У любых таких сервисов есть лишь ограниченный пул номеров, который ботоводы быстро израсходуют. Если где-то ещё не израсходовали, то вряд ли об этом будут рассказывать налево и направо - ведь тогда в считанные часы ни одного свободного номера там не останется.
FooXeeD, вписать то, что нужно для данной задачи. В обсуждаемом примере бот пишет некоторое уведомление о своих действиях и через таймаут его стирает, чтобы оно в чате не осталось. Вот это временное сообщение (temporary message) и отправляется/удаляется.
Как я и писал выше в комментариях, лучше переходить на slash-команды и использовать ephemeral. Тогда сообщение от бота увидит только отправитель команды, он же саможет ответ скрыть тогда, когда ему будет это удобно, а не когда бот сам по таймауту его удалит.
CityCat4, я не настолько много играю в игры и не настолько гонюсь за новинками, чтобы меня это так парило. Тем не менее, игр там полно, особенно если разрешить запуск через proton непротестированных игр.
И если игры нет или она не работает - то мало шансов, что запуск самого Steam через wine что-то изменит. Ведь конечная игра будет запущена тоже через wine.
Если уж прям так нужны игры - то значит нужна и винда.
Ziptar, сейчас это стало менее актуально, потому что интернеты стали быстрее, CDN жирнее, скачивание без браузера сильно осложнилось, да и часто без авторизации недоступно.
Сергей П, да, всё так, подобную базу или самому составить (а то и в дальнейшем вести), или у кого-то стырить. OSM на самом деле не оченьп лохой вариант, это и легально, и способ её в дальнейшем вести (можно самому добавлять/исправлять).
В принципе, может быть можно привлекать к этому и официальные источники. Вот, например, перечень ОКН Московской области https://gukn.mosreg.ru/dokumenty/gosudarstvennaya-...
Но в них полно всякой фигни, вплоть до совершенно бессмысленного или фактически не существующего. Например, есть усадьба "Филимонки", от которой уже остались только руины. Или всякая хрень типа "дом, где один раз ночевал Дзержинский". Плюс достопримечательности не только наследие, а всякие музеи, современные памятники и арт-объекты... В общем, любой результат - даже если удастся его обработать напильником и нейросетями - для достижения нормального результата в конечном счёте надо будет вручную модерировать-корректировать.
Сергей П, думаю, их могут делать и дорожные службы, и местные власти, и нет какой-то системы, по которой их ставят. В том числе их могут не сохранять при плановом ремонте. Вряд ли есть хоть какой-то реестр.
На мой взгляд, перспективнее иметь базу достопримечательностей и уметь подсказывать, что в достаточной достижимости от текущей точки таковые есть.
brar, "стабилен" легко говорить человеку, который что-нить доставит или поправит или найдёт в логах, если у него что-то не заработало. Это классика искажённого мировосприятия человека, для которого возникающие проблемы ничтожны. Но те же самые проблемы непреодолимы для новичка, он же ничего не знает и не понимает.
Это возникает даже в вылизанных стэблах Debian или Ubuntu LTS, где тестируют обновление с фиксированных версий пакетов на фиксированные версии пакетов. А в роллинге может любая версия обновиться до любой другой версии, и что там будет - комбинации воистину бесчисленны.
Ну серьёзно, не надо рассказывать сказки опытному админу.
brar, арч не нужен человеку, который в линуксах ни бум-бум.
И да, рассказывать сказки про "стабильность" не надо. На деле чуть чихнёшь - и что-нибудь разваливается. Чтобы это понять, найти и исправить, нужна квалификация совсем не новичка.
Илья, блютус слишком высокого уровня и включает необходимость поддержания соединения. Это уже под чипы с полноценным линуксом. Хотя модули Bluetooth для ардуино существуют.