Лайфхакер
Лайфхакер
Лучшее
Рубрики
Рецепты
Подкасты
Сервисы
Колонки
Лучшее
Рубрики
Рецепты
Подкасты
Сервисы
Колонки
Выгодные покупки
Новости
Здоровье
Спорт и фитнес
Покупки
Технологии
Отношения
Кино
Реклама
Советы
14 июля 2014

23 урока от Пробудившегося

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

23 урока от Пробудившегося

Буддизм является одной из самых древних и распространённых мировых религий. Хотя многие её приверженцы определяют буддизм не как религию, а видят в этом учении просто “науку о сознании”. В основу этой науки легли прежде всего наблюдения и выводы легендарного мудреца Сиддхартха Гаутама, известного также как Будда. Его философия оказала огромное влияние на все мировые религии и достойна того, чтобы о ней знал любой человек, независимо от своих убеждений. Сегодня мы хотим вас познакомить с самыми главными уроками, которые дал нам Будда.

“Ненавистью нельзя одолеть ненависть, её можно победить лишь любовью. Это вечный закон”.

2. Вас определяет не то, что вы говорите, а то, что делаете

“Нельзя человека называть мудрецом только потому, что он говорит, но если вы видите, что он живёт в мире, любви и отсутствии страха, то он на самом деле является мудрым”.

“Собака не считается хорошей, если она умеет только гавкать. Человек не может считаться добродетельным, если он просто говорит правильные и приятные вещи”.

3. Секрет хорошего здоровья — полная жизнь в настоящем

“Не задерживаться в прошлом, не мечтать о будущем, сосредоточить ум полностью на настоящем моменте”.

“Секрет здоровья для ума и тела заключается в том, чтобы не сокрушаться по прошлому, не слишком беспокоиться о будущем, но жить настоящим моментом мудро и искренне”.

4. Взгляд в себя дарит понимание

“Не следует искать свой путь в небесах. Нужно просто заглянуть в своё сердце”.

5. Слова могут причинять боль и исцелять

“Слова имеют силу и могут как уничтожать, так и исцелять. Правильные и добрые слова могут изменить наш мир”.

6. Отпустите, и это будет вашим навсегда

“Самый верный способ потерять — это продолжать за что-то цепляться”.

7. Никто не может прожить вашу жизнь за вас

“Никто не спасёт нас, кроме нас самих. Никто не сможет это, и никто не сделает. Мы сами должны пройти свой путь”.

8. Счастье не уменьшается, если им поделиться

“Тысячи свечей можно зажечь от единственной свечи, и жизнь её не станет короче. Счастья не становится меньше, когда им делишься”.

9. Будьте добры ко всем

“Будьте мягки с юными, сострадательны с пожилыми, терпимы к слабым и заблуждающимся. Когда-то в своей жизни вы будете или были каждым из них”.

“Всем и везде передавайте простую истину: для обновления человечества необходимы только благородное сердце, сердечное слово и сострадание”.

10. Не верьте всему, что вам говорят

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

11. Как вы думаете, так всё и будет

“Всё, что мы есть, — это результат того, что мы думали, наша жизнь основана на наших мыслях и состоит из наших мыслей. Если человек говорит или действует со злым намерением, то страдания следуют за этим, как колесо следует за копытом вола, тянущего повозку… Если человек говорит или действует с хорошей целью, то счастье следует за ним, как тень, которая никогда не оставит его”.

12. Отпустите свои страхи

“Весь секрет существования заключается в избавлении от страхов. Не бойся того, что с тобой будет, твоё будущее от этого не изменится, зато настоящее станет спокойным”.

13. Правда всегда откроется

“Есть три вещи, которые невозможно спрятать: солнце, луна и правда”.

14. Контролируй свои мысли, или они сами будут контролировать тебя

“Чтобы наслаждаться хорошим здоровьем, чтобы создать истинное счастье для своей семьи, чтобы принести мир всем, нужно сначала обуздать и контролировать свой собственный ум. Если человек может управлять своим сознанием, то он сможет найти путь к Просветлению и вся мудрость и добродетель, естественно, придут к нему”.

“Именно собственные мысли, а не враги или недоброжелатели склоняют человека на тёмную сторону”.

15. Подозрения разделяют. Доверие объединяет

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

16. Никто не является более достойным вашей любви, чем вы сами

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

17. Знание других приносит мудрость, познание себя даёт просветление

“Лучше победить себя, чем выиграть тысячу сражений. Такая победа всегда останется с вами. Её у тебя не смогут отнять ни ангелы, ни демоны, ни рай, ни ад”.

18. Духовность — это не роскошь, это необходимость

“Так же, как свеча не может гореть без огня, люди не могут существовать без духовной жизни”.

19. Замените зависть восхищением

“Не завидовать чужим хорошим качествам, а через восхищение прививать их себе”.

20. Ищите покой внутри себя

“Спокойствие находится внутри вас. Не ищите его вовне”.

21. Выбирайте себе друзей осмотрительно

“Плохого и неискреннего друга следует опасаться больше, чем дикого зверя; дикий зверь может ранить ваше тело, но злой друг ранит вашу душу”.

22. Рецепта счастья не существует

“Счастье — это не удачное сочетание внешних обстоятельств. Это просто состояние вашего ума”.

“Нет никакого пути к счастью; счастье — это и есть путь”.

23. Три самые важные вещи

“В конечном счёте, только три вещи имеют значение: как сильно мы любили, как легко мы жили и как просто отказывались от ненужного”.

Обложка: SasinT/Shutterstock
Источник: www.wakingtimes.com
Если нашли ошибку, выделите текст и нажмите Ctrl + Enter

Лучшие предложения

10 пар зимней обуви с хорошими скидками на «чёрной пятнице»

10 пар зимней обуви с хорошими скидками на «чёрной пятнице»

постельное белье

21 комплект постельного белья, который преобразит вашу спальню

Roborock Q5 Pro

Надо брать: робот-пылесос Roborock Q5 Pro со скидкой 76%

Гидравлический домкрат с высоким рейтингом отдают со скидкой 35% на AliExpress

Гидравлический домкрат с высоким рейтингом отдают со скидкой 35% на AliExpress

23 нарядных платья, которые можно надеть на новогодний корпоратив

23 нарядных платья, которые можно надеть на новогодний корпоратив

10 рюкзаков для ноутбука, которые не боятся мокрого снега и дождя

10 рюкзаков для ноутбука, которые не боятся мокрого снега и дождя

5 милых мягких игрушек для тех, кто любит мультфильмы Хаяо Миядзаки

5 милых мягких игрушек для тех, кто любит мультфильмы Хаяо Миядзаки

Самый популярный компрессор от Baseus отдают за полцены

Самый популярный компрессор от Baseus отдают за полцены

Это интересно
Как найти работу, где помогают расти и поддерживают на старте

Как найти работу, где помогают расти и поддерживают на старте

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

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

Рак груди во время беременности: что нужно знать

Рак груди во время беременности: что нужно знать

ИГРА: Полный бак бонусов

ИГРА: Полный бак бонусов

Комментарии
Vernat Khisamov
14.07.14 21:50
может правильнее Гаутама, а не Гаута?
Дмитрий Горчаков
18.07.14 12:16
Исправил опечатку.
Vernat Khisamov
20.07.14 07:20
Спасибо! Тогда уж и Пробудившегося на Пробужденного не плохо было бы исправить.
Vernat Khisamov
14.07.14 21:51
<<Сегодня мы хотим вас познакомить с самыми главными уроками, которые дал нам Будда. Ни разу не главные. Главное что он дал - 4 драгоценные истины.
Osvald Oo
14.07.14 22:50
Буддизм - это, вообще-то, не религия и " главные уроки, которые дал нам Будда" это показывают
Евгений Тарасов
14.07.14 23:23
Действительно, почему Гаута, правильно Гаутама. Согласен с Vernat Khisamov, одной из самых важных вещей что он дал были 4 благородные истины: 1. О страдание 2. О причине страдания 3. О прекращение страдания 4. О пути ведущем к окончанию страдания Вот это действительно самые важные уроки.
Сергей Карспсатов
14.07.14 23:42
Тахир Хисамутдинов
15.07.14 01:23
Тахир Хисамутдинов
15.07.14 01:33
Во время прочтения книг Эхарта Толле испытывал это, нечего лучше наверное не чувствовал), правда недолго.
Denis Terebiy
15.07.14 09:53
Я бы добавил еще один существенный урок: - Не делай ничего исключительно для другого. Прежде чем помочь, найди - зачем это нужно лично тебе и не забудь объяснить это человеку. Не заставляй людей быть обязанным тебе - люди этого не любят и будут искать в тебе недостатки или скрытые мотивы, чтобы избавиться от этого чувства. С остальным (разве что "духовность" - понятие слишком размытое) - всё так и есть.
Ustas
15.07.14 11:39
tashila@list.ru
15.07.14 12:43
Еще Ленин писал: "проблема в том, что люди верят всему, что написано в интернете"
Валерий Бискибальный
15.07.14 13:17
Прожив большую часть жизни все больше убеждаюсь,что именно буддизм и есть религия по настоящему заботящаяся о духовном здоровье человека...Может я плохо знаю историю религий,но у них не было ни крестовых походов,для установления именно СВОЕЙ веры ,ни костров инквизиции,ни войн на религиозной почве...Может быть было бы меньше войн,если бы основной религией на Земле был бы именно буддизм?
Denis Terebiy
15.07.14 16:47
Если Вы посмотрите на религию с точки зрения эволюциониста, то Вам станет очевидно, то "забота о духовном здоровье человека" ну ни разу не является основной задачей религии. Какие религии получают распространение и становятся доминирующими? Те, которые способны мобилизовать и сплотить своих приверженцев с одной стороны, и поощрить завоевание и уничтожение других религий - с другой. А те религии (скорее - философии или системы ценностей), которые заботились в первую очередь о духовном здоровье, те естественным образом оказывались уничтожены или придавлены более агрессивными религиями. Это естественный глобальный эволюционный процесс. Тут нет критериев "хорошо-плохо". Тут есть критерий "распространяется-исчезает". Какая религия лучше распространяется - та и становится "основной". Даже если она при этом уничтожает своих носителей.
Anna Baibakova
15.07.14 17:05
Да. Но ведь есть не только точка зрения эволюциониста:) точек зрения - множество :)
Denis Terebiy
15.07.14 17:08
Естественно. Просто только с точки зрения эволюциониста можно понять - почему окружающий нас мир именно такой, какой он есть. И почему он настолько отличается от того, "каким он должен быть" со всех прочих точек зрения.
Константин Афонин
17.07.14 00:37
Не так всё просто. Пример: марксизм - ленинизм . Он завоёвывал, подавлял ,уничтожал . распространялся и расправлялся со своими носителями. И о чудо ! в один момент империя зла рухнула. ......
Denis Terebiy
17.07.14 00:58
Вирусы есть летальные, а есть нелетальные. К ментальным вирусам это относится в той же мере. Чрезмерно агрессивная религия, "пожирающая" социум, на котором она паразитирует, быстрее чем тот воспроизводятся, этот социум уничтожает вместе с собой. Если взглянуть на эти системы и их взаимодействие с достаточным уровнем детализации, то эти процессы становятся весьма очевидными. Еще раз - религии есть необходимый этап в становлении любой цивилизации (если мы говорим о человеческих цивилизациях на основе приматов). Их "накладные расходы" заведомо меньше тех плюшек, которые они предоставляют - делают принципиально возможным большие социумы из приматов. Но в определенный момент развитие цивилизации делает фактор религии необязательным для её, цивилизации, существования. И тут уже самое время переходить от религиозного мировосприятия к осознанному. Проблема с этим переходом в том, что, в отличии от религии, этот процесс проблематично "поставить на поток". Потому каждый приходит к своему просветлению самостоятельно. Кто приходит, конечно.
Константин Афонин
17.07.14 01:15
Их "накладные расходы" заведомо меньше тех плюшек, которые они предоставляют - делают принципиально возможным большие социумы из приматов. Но в определенный момент развитие цивилизации делает фактор религии необязательным для её, цивилизации, существования. Уничтоженная русская нация- хороша плюшка..... большие социумы из приматов это тоже сомнительное удовольствие. И как бы так не получилось , что отсутствие фактора религии приведёт к уничтожению цивилизации. На мой взгляд всё к этому идёт....
Denis Terebiy
17.07.14 12:30
"Уничтоженная русская нация" религией марксизма-ленинзма - это именно пример "накладных расходов". "Плюшками" же были мобилизация ресурсов и индустриальный рывок. Да, цена этой конкретно религии оказалась чрезмерной. Цена же религии национал-шовинизма, которая на подъеме сейчас, окажется еще выше.
Морозова Людмила
03.06.21 12:04|изменено
Наверное, вы плохо знаете марксизм-ленинизм. Кроме того, эта философия и её пропагандисты - это разное. Во времена Советского Союза было много хорошего. И именно эта идеология об"единяла.
Alex Ponomar
03.06.21 17:05
Опять вкусный пломбир подвезли.
Vernat Khisamov
22.07.14 05:41
Да, только Буддизм младше только Индуизма, и до сих количество приверженцев растет
максим удалов
15.07.14 13:50
Эти уроки оскорбляют чувства верующих!
Алексей Пономарь
15.07.14 13:53
Каких именно?
Денис Проскурин
15.07.14 19:49
Я думаю, это был сарказм)
Дмитрий Милачёв
15.07.14 16:22
В очередной раз убеждаюсь - абсолютное большинство любителей "постить каменты" бесконечно далеки от буддизма ;)
Константин Афонин
17.07.14 00:55
просветите нас тёмных. Дайте ссылку
Дмитрий Милачёв
17.07.14 01:42
Нан-ин, японский учитель Дзен, живший в эру Мейдзи (1868-1912 гг.), принимал у себя университетского профессора, пришедшего узнать, что такое Дзен. Нан-ин пригласил его к чаю. Он налил гостю чашку доверху и продолжал лить дальше. Профессор следил за тем, как переполняется чашка, и, наконец, не выдержал: "Она же переполнена. Больше уже не войдет!" Так же, как эта чашка,- сказал Нан-ин,- Вы полны Ваших собственных мнений и размышлений. Как же я смогу показать Вам Дзен, если Вы сначала не опустошили Вашу чашу?"
Anna Baibakova
15.07.14 17:01
Исправьте, пожалуйста, в тексте статьи - "... мудреца СиддхартхИ ГаутаМЫ...".
Дмитрий Горчаков
18.07.14 12:15
Исправил. Приношу извинения за опечатку. Надеюсь буддисты на меня не обиделись :)
Aleksandr Raspopov
15.07.14 22:01
Говорят, мысль слабее чувства. Может, поэтому от всех этих уроков(даже с высоким процентом правды) так мало конечной пользы?, разве что временная радость ожидания, немного подавляющая сегодняшний стресс!
Константин Афонин
17.07.14 00:51
За нашими чувствами стоит опыт сотен поколений наших предков. стоит опыт выживания.... А за нашей слабой мыслью стоит всего лишь опыт нашей очень короткой жизни. И чем противоречивей этот собственный опыт , тем громче голос чувств...
Елена Кузнецова
17.07.14 09:38
Мысли человека обладают огромной силой, как созидательной, так и разрушительной, тот кто научился их контролировать может порой творить чудеса, а чувства это лишь выражение мыслей, часто очень переменчивые. Например, чувство страха почему возникает? Потому, что мы в наших мыслях уже нарисовали какую-то очень ужасную картину и верим в нее, и так со многим чувствами. От всех этих уроков мало пользы потому, что мало кто им следует, это достаточно сложно,требует больших усилий над собой, но возможно.
Константин Афонин
17.07.14 00:44
"Если человек говорит или действует с хорошей целью, то счастье следует за ним......" Человеку не дано знать наперед , что хорошо , какая цель хорошая и какие слова во благо......Примеров нет числа...... и благими намерениями вымощена дорога в ад......
Anton Skorin
17.07.14 09:30
Отличная Статья!!
17.07.14 11:54
со многими изречениями будды я бы поспорил например как вы думаете так ,и будет даже если ты хочешь добра ,и делаешь его то при этом можешь сделать гнусность ибо милосердие проявленное к недостойному является злодеянием
Ольга Зимина
17.07.14 12:19
нет смысла спорить с Буддой)))) - как ВЫ думаете, так и будет для ВАС конкретно.
Maxim Stanchin
17.07.14 14:55
Бедный Гаутама, чего только ему не приписывают...
Sergey Ivanov
18.07.14 08:19
Максим, верно подметил! Символично конец жизни Будды. Как говорится "по делам вашим...."
Alexander Korr
21.07.14 09:58
Про пункт 16 очень верно писал Пушкин: Кого ж любить? Кому же верить? Кто не изменит нам один? Кто все дела, все речи мерит Услужливо на наш аршин? Кто клеветы про нас не сеет? Кто нас заботливо лелеет? Кому порок наш не беда? Кто не наскучит никогда? Призрака суетный искатель, Трудов напрасно не губя, Любите самого себя, Достопочтенный мой читатель! Предмет достойный: ничего Любезней, верно, нет его. ("Евгений Онегин")
Михаил Поддуев
26.10.14 01:06
Что говорят кавычки в Вашем тексте, что это дословные цитаты или Ваши мысли? Если это цитаты, то почему не указаны источники??? Как убедиться, что это тексты из первоисточников? Или это не так?
Максим Рябец
23.10.15 12:42
Живу и применяю эти слова в своей жизни. В них много мудрости. И, знаете, теперь я по-настоящему счастлив!
Что вы могли пропустить
И дом цел, и кошка счастлива. Как сделать жильё комфортным и безопасным для питомца
И дом цел, и кошка счастлива. Как сделать жильё комфортным и безопасным для питомца
0
11:00
Советы
Советы
Какую гирлянду выбрать для дома и улицы
Какую гирлянду выбрать для дома и улицы
0
16 ноября
Ликбез
Советы
Слепота к беспорядку: почему мы не замечаем бардак в доме и как это исправить
Слепота к беспорядку: почему мы не замечаем бардак в доме и как это исправить
0
15 ноября
Советы
Советы
5 советов, как сделать прихожую удобной и стильной
5 советов, как сделать прихожую удобной и стильной
0
11 ноября
Колонка
Советы
Как почистить латунь
Как почистить латунь
0
8 ноября
Ликбез
Советы
«Трикладушку» Galaxy Z TriFold от Samsung впервые показали на видео
«Трикладушку» Galaxy Z TriFold от Samsung впервые показали на видео
0
6 ноября
Новости
Советы
Как почистить кулер для воды в домашних условиях
Как почистить кулер для воды в домашних условиях
0
2 ноября
Ликбез
Советы
Правда ли контейнер пылесоса надо чистить сразу после уборки
Правда ли контейнер пылесоса надо чистить сразу после уборки
0
25 октября
Советы
Советы
Как отличить хрусталь от стекла
Как отличить хрусталь от стекла
0
24 октября
Ликбез
Советы
Как избавиться от запаха канализации
Как избавиться от запаха канализации
0
18 октября
Ликбез
Советы
3 вопроса, чтобы расхламить шкаф с одеждой без лишних усилий
3 вопроса, чтобы расхламить шкаф с одеждой без лишних усилий
0
12 октября
Советы
Советы
Нейлон или полиэстер — что лучше для куртки
Нейлон или полиэстер — что лучше для куртки
0
11 октября
Ликбез
Советы
Как это сделать: научить ребёнка говорить «нет» незнакомцам в интернете
Как это сделать: научить ребёнка говорить «нет» незнакомцам в интернете
0
7 октября
Советы
Советы
Как выбрать одеяло для комфортного сна
Как выбрать одеяло для комфортного сна
0
4 октября
Ликбез
Советы
Где растёт клюква и когда её собирать
Где растёт клюква и когда её собирать
0
30 сентября
Ликбез
Советы

Новые комментарии

Аватар автора комментария
D.V.1 час назад

0 / 0

Про натертую пятку это круто !
Что такое shallowing — секс-тренд, который очень нравится женщинам
Аватар автора комментария
Информатик1 час назад

0 / 0

на xiaomi 11 не работает. Вкл режим Factory Mode . Чтоб выти из режима нужно все время клавищей выкл жать и чтоб выбрана верхняя стройка была..
Как включить и отключить безопасный режим на Android-смартфоне
Аватар автора комментария
Кирилл Тимонин1 час назад

0 / 0

22.11.2025 - новая версия скрипта для автоматического удаления постов со стены ВК, учитывающая все изменения алгоритма удаления постов и интерфейса ВК. У скрипта есть удобное меню для управления процессом. Пред запуском скрипта необходимо войти в режим просмотра сообщений стены с выбором по календарю (двойной клик по слову Сообщения). Далее - выбираете год и дату в календаре, с которой начинать удалять сообщения - например 31 декабря 2023 года. Сообщения будут удаляться в прошлое - весь декабрь, ноябрь, октябрь и так далее. В меню скрипта нужно выбрать год - это служит предохранителем от случайного удаления текущих постов этого года. Скорость удаления постов от 0.1 до 3 секунд. Настраивать в зависимости от скорости вашего интернета и мощности компьютера. Для максимально быстрой работы скрипта необходимо в настройках браузера отключить показ картинок и видео. Скрипт успешно тестировался в браузере Хром на любых скоростях. Удаляет без ошибок. var test = false, count = 0, targetYear = 2024, deletePause = 100; var controlElements = {}; // Объект для хранения элементов управления // Функция создания панели управления function createControlPanel() { var panel = document.createElement('div'); panel.style.cssText = ` position: fixed; top: 20px; right: 20px; z-index: 10000; background: rgba(0,0,0,0.8); color: white; border-radius: 10px; padding: 15px; font-family: Arial, sans-serif; min-width: 200px; backdrop-filter: blur(10px); `; var title = document.createElement('div'); title.innerHTML = '🎯 Управление удалением'; title.style.cssText = 'font-weight: bold; margin-bottom: 10px; font-size: 16px;'; panel.appendChild(title); var stats = document.createElement('div'); stats.id = 'controlStats'; stats.innerHTML = `Год: ${targetYear}Удалено: ${count}Пауза: ${deletePause/1000}сек`; stats.style.cssText = 'margin-bottom: 10px; font-size: 12px; line-height: 1.4;'; panel.appendChild(stats); // Кнопка остановки/продолжения controlElements.stopBtn = document.createElement('button'); controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.cssText = ` background: #ff4444; color: white; border: none; padding: 8px 12px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; margin-right: 5px; margin-bottom: 5px; width: 100%; `; controlElements.stopBtn.onclick = function() { if (test) { // Останавливаем скрипт test = false; controlElements.stopBtn.innerHTML = '▶️ Продолжить'; controlElements.stopBtn.style.background = '#44aa44'; console.log('⏸️ Скрипт приостановлен пользователем'); } else { // Продолжаем скрипт test = true; controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.background = '#ff4444'; console.log('▶️ Скрипт продолжен пользователем'); // Запускаем процесс снова setTimeout(() => { processPostsContinuously(); }, 100); } updateControlPanel(); }; panel.appendChild(controlElements.stopBtn); // Кнопка перезапуска var restartBtn = document.createElement('button'); restartBtn.innerHTML = '🔄 Перезапустить'; restartBtn.style.cssText = ` background: #44aaff; color: white; border: none; padding: 8px 12px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; margin-bottom: 5px; width: 100%; `; restartBtn.onclick = function() { test = false; console.log('🔄 Перезапуск скрипта...'); // Сбрасываем кнопку остановки к красному цвету if (controlElements.stopBtn) { controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.background = '#ff4444'; } setTimeout(() => { restartWithNewSettings(); }, 500); }; panel.appendChild(restartBtn); // Кнопка быстрых настроек var settingsBtn = document.createElement('button'); settingsBtn.innerHTML = '⚙️ Быстрые настройки'; settingsBtn.style.cssText = ` background: #ffaa00; color: white; border: none; padding: 8px 12px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; width: 100%; `; settingsBtn.onclick = function() { quickSettings(); }; panel.appendChild(settingsBtn); document.body.appendChild(panel); return panel; } // Функция сброса кнопки остановки при перезапуске function resetStopButton() { if (controlElements.stopBtn) { controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.background = '#ff4444'; } } // Функция обновления панели управления function updateControlPanel() { var stats = document.getElementById('controlStats'); if (stats) { stats.innerHTML = `Год: ${targetYear}Удалено: ${count}Пауза: ${deletePause/1000}секСтатус: ${test ? 'активен' : 'пауза'}`; } } // Функция быстрых настроек function quickSettings() { if (test) { alert('Сначала остановите скрипт для изменения настроек!'); return; } var newPause = parseFloat(prompt('Новая пауза между удалениями (секунды):\n\n0.1-0.3 - Максимальная скорость\n0.5-1.0 - Баланс\n1.5-3.0 - Максимальная надежность', deletePause/1000)); if (!isNaN(newPause) && newPause >= 0.1 && newPause <= 3) { deletePause = newPause * 1000; console.log('⚙️ Пауза изменена: ' + newPause + ' сек.'); updateControlPanel(); } else { alert('Некорректное значение паузы!'); } } // Функция перезапуска с новыми настройками function restartWithNewSettings() { // Сбрасываем счетчик count = 0; // Запрос года для удаления var currentYear = new Date().getFullYear(); var newTargetYear = parseInt(prompt('Введите год, посты за который нужно удалить\n(например: 2024, 2023, 2022)', targetYear)); // Проверка корректности года if (isNaN(newTargetYear) || newTargetYear < 2000 || newTargetYear > currentYear) { alert('Некорректный год! Будет использован предыдущий год: ' + targetYear); } else { targetYear = newTargetYear; } // Настройка паузы между удалениями var pauseInput = parseFloat(prompt('Пауза между удалениями постов (секунды)\n\nРекомендации:\n• 0.1-0.3 - Максимальная скорость (риск ошибок)\n• 0.5-1.0 - Баланс скорости и надежности\n• 1.5-3.0 - Максимальная надежность', deletePause/1000)); // Проверка и ограничение паузы if (isNaN(pauseInput) || pauseInput < 0.1) { pauseInput = 0.1; } else if (pauseInput > 3) { pauseInput = 3; } deletePause = pauseInput * 1000; test = confirm("⚡ НОВЫЕ НАСТРОЙКИ УДАЛЕНИЯ:\n\n• Год: " + targetYear + "\n• Пауза между удалениями: " + pauseInput + " сек." + "\n• Медиа заблокированы: Да\n\nНачать удаление с новыми настройками?"); if (test) { console.log('🔄 ПЕРЕЗАПУСК С НОВЫМИ НАСТРОЙКАМИ'); console.log('🎯 Целевой год: ' + targetYear); console.log('⏱️ Пауза между удалениями: ' + pauseInput + ' сек.'); // Сбрасываем кнопку остановки к красному цвету resetStopButton(); updateControlPanel(); startContinuousDeletion(); } else { updateControlPanel(); } } // Остановка по клавише ESC document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && test) { test = false; if (controlElements.stopBtn) { controlElements.stopBtn.innerHTML = '▶️ Продолжить'; controlElements.stopBtn.style.background = '#44aa44'; } console.log('⏸️ Скрипт приостановлен по клавише ESC'); updateControlPanel(); } }); function disableMediaLoading() { document.querySelectorAll('img, video, iframe').forEach(el => { el.style.display = 'none'; }); const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { mutation.addedNodes.forEach(node => { if (node.nodeType === 1) { if (node.tagName === 'IMG' || node.tagName === 'VIDEO') { node.style.display = 'none'; } node.querySelectorAll?.('img, video').forEach(media => { media.style.display = 'none'; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); console.log('⚡ Медиа заблокированы'); } function itit() { disableMediaLoading(); // Запрос года для удаления var currentYear = new Date().getFullYear(); targetYear = parseInt(prompt('Введите год, посты за который нужно удалить\n(например: 2024, 2023, 2022)', currentYear)); // Проверка корректности года if (isNaN(targetYear) || targetYear < 2000 || targetYear > currentYear) { alert('Некорректный год! Будет использован текущий год: ' + currentYear); targetYear = currentYear; } // Точная настройка паузы между удалениями var pauseInput = parseFloat(prompt('Пауза между удалениями постов (секунды)\n\nРекомендации:\n• 0.1-0.3 - Максимальная скорость (риск ошибок)\n• 0.5-1.0 - Баланс скорости и надежности\n• 1.5-3.0 - Максимальная надежность', '0.5')); // Проверка и ограничение паузы if (isNaN(pauseInput) || pauseInput < 0.1) { pauseInput = 0.1; } else if (pauseInput > 3) { pauseInput = 3; } deletePause = pauseInput * 1000; test = confirm("⚡ НАСТРОЙКИ УДАЛЕНИЯ:\n\n• Год: " + targetYear + "\n• Пауза между удалениями: " + pauseInput + " сек." + "\n• Медиа заблокированы: Да\n\nНачать удаление?"); if (test) { console.log('⚡ ЗАПУСК С НАСТРОЕННЫМИ ПАРАМЕТРАМИ'); console.log('🎯 Целевой год: ' + targetYear); console.log('⏱️ Пауза между удалениями: ' + pauseInput + ' сек.'); createControlPanel(); startContinuousDeletion(); } } function startContinuousDeletion() { console.log('🔄 Начинаем непрерывное удаление...'); updateControlPanel(); processPostsContinuously(); } function processPostsContinuously() { if (!test) { console.log('⏸️ Скрипт на паузе'); return; } console.log(`\n=== ПОИСК ПОСТОВ ЗА ${targetYear} ГОД ===`); var posts = document.querySelectorAll('div._post'); console.log(`📊 На странице: ${posts.length} постов`); if (posts.length === 0) { console.log('📭 Постов не найдено, пытаемся загрузить...'); loadMorePosts().then((success) => { setTimeout(processPostsContinuously, 1000); }); return; } var postsToDelete = []; for (var i = 0; i < posts.length; i++) { var post = posts[i]; var postDate = extractDateFromPost(post); if (postDate && postDate.getFullYear() === targetYear) { postsToDelete.push({ element: post, date: postDate, index: i }); } } console.log(`🎯 Найдено постов за ${targetYear} год: ${postsToDelete.length}`); // Показываем информацию о найденных постах if (postsToDelete.length > 0) { console.log('📅 Даты найденных постов:'); postsToDelete.forEach(post => { console.log(' - ' + post.date.toLocaleDateString()); }); } if (postsToDelete.length > 0) { console.log('🔥 Начинаем удаление...'); deletePostsSequentially(postsToDelete, 0, () => { console.log(`✅ Удаление завершено. Всего удалено: ${count}`); updateControlPanel(); setTimeout(processPostsContinuously, 500); }); } else { console.log('📭 Постов за ' + targetYear + ' год не найдено, загружаем следующую страницу...'); loadMorePosts().then((success) => { setTimeout(processPostsContinuously, 1000); }); } } function loadMorePosts() { return new Promise((resolve) => { console.log('🔍 Поиск пагинации для загрузки следующей страницы...'); // Ищем кнопку "1" в пагинации (первая страница) var paginationButton = findPaginationButton(); if (paginationButton) { console.log('✅ Найдена кнопка пагинации, нажимаем...'); paginationButton.click(); console.log('⏳ Ждем загрузки новой страницы (3 секунды)...'); setTimeout(() => { // Прокручиваем немного для стимуляции загрузки window.scrollTo(0, 100); setTimeout(() => { console.log('✅ Новая страница загружена'); resolve(true); }, 1000); }, 3000); } else { console.log('❌ Кнопка пагинации не найдена, пробуем альтернативные методы...'); // Альтернативные методы загрузки var alternativeButtons = [ document.querySelector('#fw_load_more.pg_more_link'), document.querySelector('#wall_more_link'), document.querySelector('.wall_more_link'), document.querySelector('.pg_more_link'), findElementByText('к предыдущим постам') ]; var foundButton = alternativeButtons.find(btn => btn !== null); if (foundButton) { console.log('✅ Найдена альтернативная кнопка, нажимаем...'); foundButton.click(); console.log('⏳ Ждем загрузки постов (4 секунды)...'); setTimeout(() => { console.log('✅ Посты загружены через альтернативную кнопку'); resolve(true); }, 4000); } else { console.log('❌ Ни одна кнопка не найдена, используем прокрутку...'); var oldCount = document.querySelectorAll('div._post').length; window.scrollTo(0, 0); setTimeout(() => { window.scrollTo(0, document.body.scrollHeight); console.log('⏳ Ждем загрузки постов после прокрутки (5 секунд)...'); setTimeout(() => { var newCount = document.querySelectorAll('div._post').length; if (newCount > oldCount) { console.log(`✅ Загружено ${newCount - oldCount} постов через прокрутку`); resolve(true); } else { console.log('❌ Не удалось загрузить новые посты через прокрутку'); resolve(false); } }, 5000); }, 1000); } } }); } // Функция поиска кнопки пагинации "1" function findPaginationButton() { // Ищем все элементы пагинации var paginationContainers = [ document.querySelector('.pagination_page'), document.querySelector('.pagination_pages'), document.querySelector('.page_list'), document.querySelector('.pagination_list'), document.querySelector('[data-module="uiPagination"]'), document.querySelector('.ui_pagination') ]; // Ищем в контейнерах пагинации for (var container of paginationContainers) { if (container) { // Ищем кнопку с цифрой "1" var button = container.querySelector('a[href*="offset=0"], a[href*="page=1"], .pagination_page:first-child, .page:first-child'); if (button) return button; // Ищем по тексту "1" var buttons = container.querySelectorAll('a, span, .page, .pagination_page'); for (var btn of buttons) { if (btn.textContent && btn.textContent.trim() === '1') { return btn; } } } } // Ищем по всему документу ссылки с offset=0 var offsetLinks = document.querySelectorAll('a[href*="offset=0"]'); for (var link of offsetLinks) { if (link.textContent && link.textContent.trim() === '1') { return link; } } // Ищем любую кнопку с цифрой "1" в вероятных контейнерах пагинации var allButtons = document.querySelectorAll('a, span, .page, .pagination_page, .ui_pagination a'); for (var btn of allButtons) { if (btn.textContent && btn.textContent.trim() === '1' && (btn.href && btn.href.includes('wall') || btn.parentElement && btn.parentElement.className.includes('pagination'))) { return btn; } } return null; } function findElementByText(text) { var elements = document.querySelectorAll('a, span, div, button'); for (var i = 0; i < elements.length; i++) { var element = elements[i]; var elementText = element.textContent || element.innerText; if (elementText && elementText.trim() === text) { return element; } } return null; } function extractDateFromPost(postElement) { try { var dateElement = postElement.querySelector('.PostDateBlock__root'); if (dateElement) { var dateText = dateElement.textContent || dateElement.innerText; if (dateText) { return parseDateFromText(dateText); } } var likeWrap = postElement.querySelector('.like_wrap'); if (likeWrap) { var likeText = likeWrap.textContent || likeWrap.innerText; if (likeText) { return parseDateFromText(likeText); } } } catch (e) { return null; } return null; } function parseDateFromText(text) { if (!text) return null; text = text.replace(/\s+/g, ' ').trim(); var datePatterns = [ /(\d{1,2})\s+(янв|фев|мар|апр|май|июн|июл|авг|сен|окт|ноя|дек)\s+(\d{4})/i, /(\d{1,2})\s+(января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s+(\d{4})/i ]; for (var pattern of datePatterns) { var match = text.match(pattern); if (match) { var day = parseInt(match[1]); var monthStr = match[2].toLowerCase(); var year = parseInt(match[3]); var months = { 'янв': 0, 'января': 0, 'фев': 1, 'февраля': 1, 'мар': 2, 'марта': 2, 'апр': 3, 'апреля': 3, 'май': 4, 'мая': 4, 'июн': 5, 'июня': 5, 'июл': 6, 'июля': 6, 'авг': 7, 'августа': 7, 'сен': 8, 'сентября': 8, 'окт': 9, 'октября': 9, 'ноя': 10, 'ноября': 10, 'дек': 11, 'декабря': 11 }; var month = months[monthStr]; if (month !== undefined) { return new Date(year, month, day); } } } return null; } function deletePostsSequentially(posts, currentIndex, callback) { if (currentIndex >= posts.length || test === false) { callback(); return; } var post = posts[currentIndex]; deleteSinglePost(post.element).then(() => { count++; console.log(`✅ Удален пост ${currentIndex + 1}/${posts.length}. Всего: ${count}`); // Используем настроенную пользователем паузу console.log(`⏱️ Ждем ${deletePause/1000} сек. перед следующим удалением...`); setTimeout(() => { deletePostsSequentially(posts, currentIndex + 1, callback); }, deletePause); }).catch((error) => { console.error('❌ Ошибка:', error); // При ошибке используем стандартную паузу 100мс setTimeout(() => { deletePostsSequentially(posts, currentIndex + 1, callback); }, 100); }); } function deleteSinglePost(postElement) { return new Promise((resolve, reject) => { try { var menuButton = postElement.querySelector('[data-testid="post_context_menu_toggle"]'); if (!menuButton) { reject('Кнопка меню не найдена'); return; } menuButton.click(); setTimeout(() => { var deleteButton = document.querySelector('[data-testid="post_context_menu_item_delete"]'); if (!deleteButton) { reject('Кнопка удаления не найдена'); return; } deleteButton.click(); setTimeout(() => { var confirmButton = document.querySelector('.vkuiButton--mode-primary'); if (confirmButton) { confirmButton.click(); } postElement.remove(); resolve(); }, 200); }, 200); } catch (error) { reject(error); } }); } function showFinalStats() { var message = `🎉 УДАЛЕНИЕ ЗАВЕРШЕНО!\n\n• Год: ${targetYear}\n• Удалено постов: ${count}\n• Пауза между удалениями: ${deletePause/1000} сек.`; alert(message); console.log(message); updateControlPanel(); } // Запускаем скрипт itit(); // КОМАНДЫ ДЛЯ УПРАВЛЕНИЯ: // - test = false // Остановить скрипт // - restartWithNewSettings() // Перезапуск с новыми настройками // - quickSettings() // Быстрые настройки паузы // - resetStopButton() // Сброс кнопки остановки
Как быстро удалить записи со стены «ВКонтакте»
Аватар автора комментария
Кирилл Тимонин1 час назад

0 / 0

22.11.2025 - новая версия скрипта для автоматического удаления постов со стены ВК, учитывающая все изменения алгоритма удаления постов и интерфейса ВК. У скрипта есть удобное меню для управления процессом. Пред запуском скрипта необходимо войти в режим просмотра сообщений стены с выбором по календарю (двойной клик по слову Сообщения). Далее - выбираете год и дату в календаре, с которой начинать удалять сообщения - например 31 декабря 2023 года. Сообщения будут удаляться в прошлое - весь декабрь, ноябрь, октябрь и так далее. В меню скрипта нужно выбрать год - это служит предохранителем от случайного удаления текущих постов этого года. Скорость удаления постов от 0.1 до 3 секунд. Настраивать в зависимости от скорости вашего интернета и мощности компьютера. Для максимально быстрой работы скрипта необходимо в настройках браузера отключить показ картинок и видео. Скрипт успешно тестировался в браузере Хром на любых скоростях. Удаляет без ошибок. var test = false, count = 0, targetYear = 2024, deletePause = 100; var controlElements = {}; // Объект для хранения элементов управления // Функция создания панели управления function createControlPanel() { var panel = document.createElement('div'); panel.style.cssText = ` position: fixed; top: 20px; right: 20px; z-index: 10000; background: rgba(0,0,0,0.8); color: white; border-radius: 10px; padding: 15px; font-family: Arial, sans-serif; min-width: 200px; backdrop-filter: blur(10px); `; var title = document.createElement('div'); title.innerHTML = '🎯 Управление удалением'; title.style.cssText = 'font-weight: bold; margin-bottom: 10px; font-size: 16px;'; panel.appendChild(title); var stats = document.createElement('div'); stats.id = 'controlStats'; stats.innerHTML = `Год: ${targetYear}Удалено: ${count}Пауза: ${deletePause/1000}сек`; stats.style.cssText = 'margin-bottom: 10px; font-size: 12px; line-height: 1.4;'; panel.appendChild(stats); // Кнопка остановки/продолжения controlElements.stopBtn = document.createElement('button'); controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.cssText = ` background: #ff4444; color: white; border: none; padding: 8px 12px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; margin-right: 5px; margin-bottom: 5px; width: 100%; `; controlElements.stopBtn.onclick = function() { if (test) { // Останавливаем скрипт test = false; controlElements.stopBtn.innerHTML = '▶️ Продолжить'; controlElements.stopBtn.style.background = '#44aa44'; console.log('⏸️ Скрипт приостановлен пользователем'); } else { // Продолжаем скрипт test = true; controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.background = '#ff4444'; console.log('▶️ Скрипт продолжен пользователем'); // Запускаем процесс снова setTimeout(() => { processPostsContinuously(); }, 100); } updateControlPanel(); }; panel.appendChild(controlElements.stopBtn); // Кнопка перезапуска var restartBtn = document.createElement('button'); restartBtn.innerHTML = '🔄 Перезапустить'; restartBtn.style.cssText = ` background: #44aaff; color: white; border: none; padding: 8px 12px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; margin-bottom: 5px; width: 100%; `; restartBtn.onclick = function() { test = false; console.log('🔄 Перезапуск скрипта...'); // Сбрасываем кнопку остановки к красному цвету if (controlElements.stopBtn) { controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.background = '#ff4444'; } setTimeout(() => { restartWithNewSettings(); }, 500); }; panel.appendChild(restartBtn); // Кнопка быстрых настроек var settingsBtn = document.createElement('button'); settingsBtn.innerHTML = '⚙️ Быстрые настройки'; settingsBtn.style.cssText = ` background: #ffaa00; color: white; border: none; padding: 8px 12px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; width: 100%; `; settingsBtn.onclick = function() { quickSettings(); }; panel.appendChild(settingsBtn); document.body.appendChild(panel); return panel; } // Функция сброса кнопки остановки при перезапуске function resetStopButton() { if (controlElements.stopBtn) { controlElements.stopBtn.innerHTML = '🛑 Остановить'; controlElements.stopBtn.style.background = '#ff4444'; } } // Функция обновления панели управления function updateControlPanel() { var stats = document.getElementById('controlStats'); if (stats) { stats.innerHTML = `Год: ${targetYear}Удалено: ${count}Пауза: ${deletePause/1000}секСтатус: ${test ? 'активен' : 'пауза'}`; } } // Функция быстрых настроек function quickSettings() { if (test) { alert('Сначала остановите скрипт для изменения настроек!'); return; } var newPause = parseFloat(prompt('Новая пауза между удалениями (секунды):\n\n0.1-0.3 - Максимальная скорость\n0.5-1.0 - Баланс\n1.5-3.0 - Максимальная надежность', deletePause/1000)); if (!isNaN(newPause) && newPause >= 0.1 && newPause <= 3) { deletePause = newPause * 1000; console.log('⚙️ Пауза изменена: ' + newPause + ' сек.'); updateControlPanel(); } else { alert('Некорректное значение паузы!'); } } // Функция перезапуска с новыми настройками function restartWithNewSettings() { // Сбрасываем счетчик count = 0; // Запрос года для удаления var currentYear = new Date().getFullYear(); var newTargetYear = parseInt(prompt('Введите год, посты за который нужно удалить\n(например: 2024, 2023, 2022)', targetYear)); // Проверка корректности года if (isNaN(newTargetYear) || newTargetYear < 2000 || newTargetYear > currentYear) { alert('Некорректный год! Будет использован предыдущий год: ' + targetYear); } else { targetYear = newTargetYear; } // Настройка паузы между удалениями var pauseInput = parseFloat(prompt('Пауза между удалениями постов (секунды)\n\nРекомендации:\n• 0.1-0.3 - Максимальная скорость (риск ошибок)\n• 0.5-1.0 - Баланс скорости и надежности\n• 1.5-3.0 - Максимальная надежность', deletePause/1000)); // Проверка и ограничение паузы if (isNaN(pauseInput) || pauseInput < 0.1) { pauseInput = 0.1; } else if (pauseInput > 3) { pauseInput = 3; } deletePause = pauseInput * 1000; test = confirm("⚡ НОВЫЕ НАСТРОЙКИ УДАЛЕНИЯ:\n\n• Год: " + targetYear + "\n• Пауза между удалениями: " + pauseInput + " сек." + "\n• Медиа заблокированы: Да\n\nНачать удаление с новыми настройками?"); if (test) { console.log('🔄 ПЕРЕЗАПУСК С НОВЫМИ НАСТРОЙКАМИ'); console.log('🎯 Целевой год: ' + targetYear); console.log('⏱️ Пауза между удалениями: ' + pauseInput + ' сек.'); // Сбрасываем кнопку остановки к красному цвету resetStopButton(); updateControlPanel(); startContinuousDeletion(); } else { updateControlPanel(); } } // Остановка по клавише ESC document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && test) { test = false; if (controlElements.stopBtn) { controlElements.stopBtn.innerHTML = '▶️ Продолжить'; controlElements.stopBtn.style.background = '#44aa44'; } console.log('⏸️ Скрипт приостановлен по клавише ESC'); updateControlPanel(); } }); function disableMediaLoading() { document.querySelectorAll('img, video, iframe').forEach(el => { el.style.display = 'none'; }); const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { mutation.addedNodes.forEach(node => { if (node.nodeType === 1) { if (node.tagName === 'IMG' || node.tagName === 'VIDEO') { node.style.display = 'none'; } node.querySelectorAll?.('img, video').forEach(media => { media.style.display = 'none'; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); console.log('⚡ Медиа заблокированы'); } function itit() { disableMediaLoading(); // Запрос года для удаления var currentYear = new Date().getFullYear(); targetYear = parseInt(prompt('Введите год, посты за который нужно удалить\n(например: 2024, 2023, 2022)', currentYear)); // Проверка корректности года if (isNaN(targetYear) || targetYear < 2000 || targetYear > currentYear) { alert('Некорректный год! Будет использован текущий год: ' + currentYear); targetYear = currentYear; } // Точная настройка паузы между удалениями var pauseInput = parseFloat(prompt('Пауза между удалениями постов (секунды)\n\nРекомендации:\n• 0.1-0.3 - Максимальная скорость (риск ошибок)\n• 0.5-1.0 - Баланс скорости и надежности\n• 1.5-3.0 - Максимальная надежность', '0.5')); // Проверка и ограничение паузы if (isNaN(pauseInput) || pauseInput < 0.1) { pauseInput = 0.1; } else if (pauseInput > 3) { pauseInput = 3; } deletePause = pauseInput * 1000; test = confirm("⚡ НАСТРОЙКИ УДАЛЕНИЯ:\n\n• Год: " + targetYear + "\n• Пауза между удалениями: " + pauseInput + " сек." + "\n• Медиа заблокированы: Да\n\nНачать удаление?"); if (test) { console.log('⚡ ЗАПУСК С НАСТРОЕННЫМИ ПАРАМЕТРАМИ'); console.log('🎯 Целевой год: ' + targetYear); console.log('⏱️ Пауза между удалениями: ' + pauseInput + ' сек.'); createControlPanel(); startContinuousDeletion(); } } function startContinuousDeletion() { console.log('🔄 Начинаем непрерывное удаление...'); updateControlPanel(); processPostsContinuously(); } function processPostsContinuously() { if (!test) { console.log('⏸️ Скрипт на паузе'); return; } console.log(`\n=== ПОИСК ПОСТОВ ЗА ${targetYear} ГОД ===`); var posts = document.querySelectorAll('div._post'); console.log(`📊 На странице: ${posts.length} постов`); if (posts.length === 0) { console.log('📭 Постов не найдено, пытаемся загрузить...'); loadMorePosts().then((success) => { setTimeout(processPostsContinuously, 1000); }); return; } var postsToDelete = []; for (var i = 0; i < posts.length; i++) { var post = posts[i]; var postDate = extractDateFromPost(post); if (postDate && postDate.getFullYear() === targetYear) { postsToDelete.push({ element: post, date: postDate, index: i }); } } console.log(`🎯 Найдено постов за ${targetYear} год: ${postsToDelete.length}`); // Показываем информацию о найденных постах if (postsToDelete.length > 0) { console.log('📅 Даты найденных постов:'); postsToDelete.forEach(post => { console.log(' - ' + post.date.toLocaleDateString()); }); } if (postsToDelete.length > 0) { console.log('🔥 Начинаем удаление...'); deletePostsSequentially(postsToDelete, 0, () => { console.log(`✅ Удаление завершено. Всего удалено: ${count}`); updateControlPanel(); setTimeout(processPostsContinuously, 500); }); } else { console.log('📭 Постов за ' + targetYear + ' год не найдено, загружаем следующую страницу...'); loadMorePosts().then((success) => { setTimeout(processPostsContinuously, 1000); }); } } function loadMorePosts() { return new Promise((resolve) => { console.log('🔍 Поиск пагинации для загрузки следующей страницы...'); // Ищем кнопку "1" в пагинации (первая страница) var paginationButton = findPaginationButton(); if (paginationButton) { console.log('✅ Найдена кнопка пагинации, нажимаем...'); paginationButton.click(); console.log('⏳ Ждем загрузки новой страницы (3 секунды)...'); setTimeout(() => { // Прокручиваем немного для стимуляции загрузки window.scrollTo(0, 100); setTimeout(() => { console.log('✅ Новая страница загружена'); resolve(true); }, 1000); }, 3000); } else { console.log('❌ Кнопка пагинации не найдена, пробуем альтернативные методы...'); // Альтернативные методы загрузки var alternativeButtons = [ document.querySelector('#fw_load_more.pg_more_link'), document.querySelector('#wall_more_link'), document.querySelector('.wall_more_link'), document.querySelector('.pg_more_link'), findElementByText('к предыдущим постам') ]; var foundButton = alternativeButtons.find(btn => btn !== null); if (foundButton) { console.log('✅ Найдена альтернативная кнопка, нажимаем...'); foundButton.click(); console.log('⏳ Ждем загрузки постов (4 секунды)...'); setTimeout(() => { console.log('✅ Посты загружены через альтернативную кнопку'); resolve(true); }, 4000); } else { console.log('❌ Ни одна кнопка не найдена, используем прокрутку...'); var oldCount = document.querySelectorAll('div._post').length; window.scrollTo(0, 0); setTimeout(() => { window.scrollTo(0, document.body.scrollHeight); console.log('⏳ Ждем загрузки постов после прокрутки (5 секунд)...'); setTimeout(() => { var newCount = document.querySelectorAll('div._post').length; if (newCount > oldCount) { console.log(`✅ Загружено ${newCount - oldCount} постов через прокрутку`); resolve(true); } else { console.log('❌ Не удалось загрузить новые посты через прокрутку'); resolve(false); } }, 5000); }, 1000); } } }); } // Функция поиска кнопки пагинации "1" function findPaginationButton() { // Ищем все элементы пагинации var paginationContainers = [ document.querySelector('.pagination_page'), document.querySelector('.pagination_pages'), document.querySelector('.page_list'), document.querySelector('.pagination_list'), document.querySelector('[data-module="uiPagination"]'), document.querySelector('.ui_pagination') ]; // Ищем в контейнерах пагинации for (var container of paginationContainers) { if (container) { // Ищем кнопку с цифрой "1" var button = container.querySelector('a[href*="offset=0"], a[href*="page=1"], .pagination_page:first-child, .page:first-child'); if (button) return button; // Ищем по тексту "1" var buttons = container.querySelectorAll('a, span, .page, .pagination_page'); for (var btn of buttons) { if (btn.textContent && btn.textContent.trim() === '1') { return btn; } } } } // Ищем по всему документу ссылки с offset=0 var offsetLinks = document.querySelectorAll('a[href*="offset=0"]'); for (var link of offsetLinks) { if (link.textContent && link.textContent.trim() === '1') { return link; } } // Ищем любую кнопку с цифрой "1" в вероятных контейнерах пагинации var allButtons = document.querySelectorAll('a, span, .page, .pagination_page, .ui_pagination a'); for (var btn of allButtons) { if (btn.textContent && btn.textContent.trim() === '1' && (btn.href && btn.href.includes('wall') || btn.parentElement && btn.parentElement.className.includes('pagination'))) { return btn; } } return null; } function findElementByText(text) { var elements = document.querySelectorAll('a, span, div, button'); for (var i = 0; i < elements.length; i++) { var element = elements[i]; var elementText = element.textContent || element.innerText; if (elementText && elementText.trim() === text) { return element; } } return null; } function extractDateFromPost(postElement) { try { var dateElement = postElement.querySelector('.PostDateBlock__root'); if (dateElement) { var dateText = dateElement.textContent || dateElement.innerText; if (dateText) { return parseDateFromText(dateText); } } var likeWrap = postElement.querySelector('.like_wrap'); if (likeWrap) { var likeText = likeWrap.textContent || likeWrap.innerText; if (likeText) { return parseDateFromText(likeText); } } } catch (e) { return null; } return null; } function parseDateFromText(text) { if (!text) return null; text = text.replace(/\s+/g, ' ').trim(); var datePatterns = [ /(\d{1,2})\s+(янв|фев|мар|апр|май|июн|июл|авг|сен|окт|ноя|дек)\s+(\d{4})/i, /(\d{1,2})\s+(января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s+(\d{4})/i ]; for (var pattern of datePatterns) { var match = text.match(pattern); if (match) { var day = parseInt(match[1]); var monthStr = match[2].toLowerCase(); var year = parseInt(match[3]); var months = { 'янв': 0, 'января': 0, 'фев': 1, 'февраля': 1, 'мар': 2, 'марта': 2, 'апр': 3, 'апреля': 3, 'май': 4, 'мая': 4, 'июн': 5, 'июня': 5, 'июл': 6, 'июля': 6, 'авг': 7, 'августа': 7, 'сен': 8, 'сентября': 8, 'окт': 9, 'октября': 9, 'ноя': 10, 'ноября': 10, 'дек': 11, 'декабря': 11 }; var month = months[monthStr]; if (month !== undefined) { return new Date(year, month, day); } } } return null; } function deletePostsSequentially(posts, currentIndex, callback) { if (currentIndex >= posts.length || test === false) { callback(); return; } var post = posts[currentIndex]; deleteSinglePost(post.element).then(() => { count++; console.log(`✅ Удален пост ${currentIndex + 1}/${posts.length}. Всего: ${count}`); // Используем настроенную пользователем паузу console.log(`⏱️ Ждем ${deletePause/1000} сек. перед следующим удалением...`); setTimeout(() => { deletePostsSequentially(posts, currentIndex + 1, callback); }, deletePause); }).catch((error) => { console.error('❌ Ошибка:', error); // При ошибке используем стандартную паузу 100мс setTimeout(() => { deletePostsSequentially(posts, currentIndex + 1, callback); }, 100); }); } function deleteSinglePost(postElement) { return new Promise((resolve, reject) => { try { var menuButton = postElement.querySelector('[data-testid="post_context_menu_toggle"]'); if (!menuButton) { reject('Кнопка меню не найдена'); return; } menuButton.click(); setTimeout(() => { var deleteButton = document.querySelector('[data-testid="post_context_menu_item_delete"]'); if (!deleteButton) { reject('Кнопка удаления не найдена'); return; } deleteButton.click(); setTimeout(() => { var confirmButton = document.querySelector('.vkuiButton--mode-primary'); if (confirmButton) { confirmButton.click(); } postElement.remove(); resolve(); }, 200); }, 200); } catch (error) { reject(error); } }); } function showFinalStats() { var message = `🎉 УДАЛЕНИЕ ЗАВЕРШЕНО!\n\n• Год: ${targetYear}\n• Удалено постов: ${count}\n• Пауза между удалениями: ${deletePause/1000} сек.`; alert(message); console.log(message); updateControlPanel(); } // Запускаем скрипт itit(); // КОМАНДЫ ДЛЯ УПРАВЛЕНИЯ: // - test = false // Остановить скрипт // - restartWithNewSettings() // Перезапуск с новыми настройками // - quickSettings() // Быстрые настройки паузы // - resetStopButton() // Сброс кнопки остановки
Как быстро удалить записи со стены «ВКонтакте»
Задача — дойти до школы самому: как подготовить ребёнка и убедиться, что всё будет в порядке&nbsp;

Задача — дойти до школы самому: как подготовить ребёнка и убедиться, что всё будет в порядке  

Лайфхакер
Информация
О проектеРубрикиРекламаРедакцияВакансииДля начинающих авторовО компании
Подписка
TelegramВКонтактеTwitterViberYouTubeИнициалRSS
Правила
Пользовательское соглашениеПолитика обработки персональных данныхПравила применения рекомендательных технологийПравила сообществаСогласие на обработку персональных данныхСогласие для рекламных рассылокСогласие для информационной программы
18+Копирование материалов запрещено.
Издание может получать комиссию от покупки товаров, представленных в публикациях