Система, которая полагается на массовой передаче юзерами полного неконтролируемого доступа к своим аккаунтам третьим лицам безо всякой юридически значимой ответственности и серьёзной защиты в принципе неправильна, и если vk об этом узнает - то может применить санкции вне зависимости от того, делается это через бота или через "домен".
DevMan, строго говоря, автор не очень ясно выразил свои пожелания. Вомзожно, он хочет на одни и те же сайты выходить с разными IP из разных браузеров, тогда это так просто не сделать.
Но если бот будет примерно такого уровня, как в коде выше, то я бы советовал всё же освоить асинхронщину. Там код не будет особо отличаться от телебота, кроме крайне важной необходимости использовать асинхронный asyncio.sleep (не блокирует поток событий) вместо синхронного time.sleep (блокирует поток событий).
Начать с того, что inline-запросы кэшируются. После первого получения ботом пустого или какого угодно другого сообщения он некоторое время не будет получать такие же (с точностью до буквы) сообщения.
Александр Бондаренко, telethon.client - это модуль, а не объект. Нужно создать инстанс класса TelegramClient, в нём будет и нужный метод (так как класс TelegramClient наследуется от класса AuthMethods, в котором и описан этот метод).
Saboteur, дело в том, что подобный мессенджер используется не для полноценной отказоустойчивости, а для конкретных целей. Там важно не полноценный доступ, а возможность связаться с окружающими хоть как-то. Именно поэтому FireChat так хорошо выстрелил во времена массовых протестов.
В Белоруссии пытались, пытаются и будут пытаться. Но даже полностью рубануть сеть не так просто, как кажется. В авторитарных африканских странах на время "выборов" (мы знаем, как они проходят) когда рубят сеть - трафик всё равно до нуля не падает, а местные AS далеко не все улетают из BGP. Это только в фантазиях господина майора всё просто, потому-то они так и бесятся, когда реальность отличается от их дебильных представлений о ней.
Saboteur, невозможно отключить Телеграм, не отключая весь интернет подчистую, и никакое оборудование "там где-то" это не решит.
В Белоруссии пытались как раз подчистую и выключить. Но трафик оттуда в большой интернет всё равно просачивался, потому что не так это и просто - рубануть всё. Народ использовал psyphon и другие средства для того, чтобы оно хоть как-то просачивалось. У нас сотрудники партнёра из Минска нам даже письма писали (правда, в стиле "у нас тут ничё не работает, так что можем и не ответить").
Saboteur, там не было 100% отключения даже в самые жёсткие моменты. Трафик кое-как прорывался, в том числе через различные средства обхода блокировок типа psyphon.
Виталий Ананьев, в общем случае никак. Сайт мог, например, сначала называться компания.narod.ru, потом компания.ru, потом наш-новый-бренд.ru, и угадать, как и в каком году он назывался изначально, уже не так просто. Время регистрации домена (created at в whois) - это время, когда домен последний раз был куплен. Не факт, что при этой покупке сайт вообще будет новым, его может выкупить и предыдущий владелец, либо новый владелец может на том же домене разместить старый сайт, в общем, однозначно ответить нельзя.
Если устраивают детективные исследования, то можно смотреть в web.archive.org, изучать даты упоминания сайта в поисковиках...
Например, домен linuxmusic.ru сейчас куплен по меньшей мере четвёртый раз за его историю. Можно выяснить, что в 2009 году там был сайт по работе с музыкой в Linux (сайт со всеми данными был тогда утерян его владельцем, он об этом писал), а в 2013 - какой-то другой сайт общего назначения, связанный с Linux, а дальше, кажется домен ни для чего толкового не использовался. На вопрос "какой возраст сайта linuxmusic.ru" следовало бы переспросить "какой именно из сайтов?"
Так, я думаю, что всё равно всё сломает var_dump, который пишет в stdout и в этот момент посылается header, который затем вызывает проблемы у рендерера, пытающегося отправить header ещё раз. Кроме того, input содержит тело POST-запроса, а запрос верификации это GET, так что это действие имеет мало смысла.
Для исследования лучше явно записывать содержание $_GET в какой-нить файл. Заодно определить, не возвращается ли 400 ещё до начала указанного кода. Может, там действительно CSRF проверяется (не знаю что за фреймворк и какие у него особенности). Я подобный обработчик писал для django, там есть специальный декоратор @csrf_exempt как раз для исключения проверки CSRF-токена.
Saboteur, ну вообще-то есть FireChat, который использовали в протестах в Гонконге, а сейчас пилят его аналог FireSide на базе SDK NewNode, который автоматизирует создание таких вот отказоустойчивых сетей, которые при недоступности нужного ресурса начинают искать подходы к нему через других участников сети - и это даже работает (проверено на мобильных приложениях протестных медиа в Белоруссии).
Виталий Ананьев, что значит "сайт изменён"? Если на сайте, например, показывается текущая дата, то если судить по содержанию страниц сайта, он будет меняться каждый день.