Spells ru

Sthephan Shi edited this page Oct 22, 2018 · 101 revisions

[Read in English]

Волшебные команды (спеллы)

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

Все команды, в силу устоявшихся традиций, будем называть спеллами, от англ. spell — "заклинание".

Спеллы скрытия постов

Каждый спелл скрытия может возвратить одно из двух состояний — true или false. Если он при проверке всех условий возвращает true для одного из постов, то этот пост будет скрыт. В случае, если этим постом окажется оп-пост, будет скрыт весь тред.

Полный синтаксис спеллов скрытия:

#спелл[доска,тред](аргумент)

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

Все спеллы скрытия могут иметь следующие варианты синтаксиса:

  • #спелл(аргумент) — действие во всех досках и тредах.
  • #спелл[доска](аргумент) — действие на указанной доске и во всех ее тредах. На других досках всегда возвращает false.
  • #спелл[доска,](аргумент) — действие только на указанной доске, но не в ее тредах. В тредах этой доски и на других досках всегда возвращает false.
  • #спелл[доска,тред](аргумент) — действие в определенном треде определенной доски. При этом вне данного треда спелл будет всегда возвращать false.
доска /b/ тред 32767 доски /b/ доска /c/ тред 4095 доски /c/
#спелл(аргумент) true/false true/false true/false true/false
#спелл[b\](аргумент) true/false true/false false false
#спелл[b,\](аргумент) true/false false false false
#спелл[b,32767\](аргумент) false true/false false false

Если спеллов несколько, то все они должны быть объединены в одно логическое выражение, которое для каждого из постов также будет возвращать true или false. Для этого доступны следующие логические операции:

  • & — логическое "И", #spell_1 & #spell_2
  • | — логическое "ИЛИ", #spell_1 | #spell_2
  • ! — логическое "НЕ", !#spell_1
  • ) и ( — скобки для логической группировки, (#spell_1 & #spell_2) | #spell_3

Важно! Каждая закрывающая скобка ) и знак \ в аргумете спеллов скрытия #words, #name и #trip, а также в строке для замены спеллов #rep и #outrep, должны быть экранированы таким образом: \), \\.

Важно! Все спеллы скрытия должны быть связаны между собой логическими операторами. Спеллы замены должны писаться отдельно, без связующих логических операторов. Пример корректной записи:

#wipe(samelines,samewords,longwords,numbers) |
#exp(/^(?:bump|up|бамп|вверх)$/i) |
(#all[b,32767] & !#img) |
(#name(Сажа-кун) & #trip(!!SAGEy+453)) |
(#op & #subj(/rozen maiden|pony/i)) |
(#op[s] & #words(соснули)) |
(#op[b] & (
    #words(еот) |
    #words(ума нет - создал тред) |
    #words(official thread)
)) |
#video(/rickroll/i)

#rep(/двач/ig,сосач)
#outrep(/сосач/ig,с*о*сач)

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


#words

#words[доска,тред](строка)

Возвращает true, если текст сообщения или темы поста содержит выражение, указанное в аргументе строки. Совпадение строки не зависит от регистра и разметки поста. Наличие аргумента обязательно. Примеры:

  • #words(баттхерт) — скроет посты на всех досках, содержащие слово "баттхерт" (в том числе "У всех баттхерт.", "ОЛОЛО БАТТХЕРТ!!", "БатТхЕрТ)))" и т.п.
  • #words[b](баттхерт) — скроет на доске /b/ и во всех ее тредах посты, содержащие слово "баттхерт".
  • #words[b,32767](все соснули) — скроет в треде №32767 доски /b/ посты, содержащие фразу "все соснули". При этом посты будут скрыты только в том случае, если вы находитесь в этом треде.
  • #words[b,](все соснули) — аналогично, но посты будут скрываться только при просмотре списка тредов доски /b/.
  • #words(баттхерт\)\)\)) — скроет посты, содержащие "баттхерт)))". Обратите внимание на то, что символы ) экранированы.
  • #words(шах\\мат) — скроет посты, содержащие "шах\мат". Обратите внимание на то, что символ \ экранирован.

Примеры логических операций:

Скрыть посты, [содержащие слово "ололо"] [ИЛИ] [содержащие слово "баттхерт"]:

  • (#words(ололо) | #words(баттхерт)) – в данном случае будут скрыты посты "Ололо, все соснули!", "Да у вас баттхерт!" и "Ололо, у вас баттхерт!".

Скрыть посты, [содержащие слово "ололо"] [И] [содержащие слово "баттхерт"]:

  • (#words(ололо) & #words(баттхерт)) – скроется лишь пост "Ололо, у вас баттхерт!", содержащий оба этих слова.

Скрыть посты, [НЕ] [содержащие слово "ня"]:

  • !#words(ня) – в данном случае пост "Ололо, все соснули!" будет скрыт, так как не содержит "ня". А вот пост "Все соснули, ня!" скрыт не будет.

Скрыть посты ( [содержащие слово "баттхерт"] [ИЛИ] [содержащие слово "соснули"] ) [И] [НЕ] [содержащие слово "ня"]:

  • ((#words(баттхерт) | #words(соснули)) & !#words(ня)) – скроются посты "Ололо, у вас баттхерт!", "Все соснули!", содержащие два первых слова, но не содержащие "ня". Однако пост "У всех баттхерт, ня!" скрыт не будет, так как содержит слово "ня".

#all

#all[доска,тред]()

Всегда возвращает true. Аргумент игнорируется. Это очень важный вспомогательный спелл, который полезен в случае, если нужно ограничить область действия.

Давайте рассмотрим подробнее:

  • !#words[b,32767](ня) – данное выражение скрывает внутри треда №32767 доски /b/ посты, не содержащие слово "ня".

Но!! Вне треда №32767 спелл #words[b,32767](ня) всегда возвращает false. А !false, как известно, это true. То есть вне данного треда все ваши посты и треды окажутся скрыты.

Чтобы решить данную проблему, используйте #all:

  • (#all[b,32767] & !#words(ня)) – что означает найти и скрыть [все посты треда b/32767] [И] [НЕ] [содержащие "ня"].

Данное выражение работает корректно и никогда не возвратит true вне данного треда, ибо здесь мы используем #all[b,32767], чтобы ограничиться тредом №32767 доски /b/.

Другие применения:

  • (#all[b] & !#words(ня)) – скрыть на доске /b/ посты, не содержащие "ня".
  • (!#all[a] & #words(аниму)) — скрыть на всех досках, кроме /a/, посты, содержащие "аниму".
  • (!#all[a,4095] & #words(тохо)) — скрыть везде, кроме треда №4095 доски /a/, посты, содержащие "тохо".
(#all[b,32767] & (
    #words(баттхерт) |
    #words(все соснули) |
    #words(ололо)
))

— выражение, аналогичное

#words[b,32767](баттхерт) |
#words[b,32767](все соснули) |
#words[b,32767](ололо)

но будет выполняться быстрее. Всегда используйте #all[доска] или #all[доска,тред] для группировки спеллов с одинаковой областью действия, это будет работать быстрее и позволит легче ориентироваться в ваших спеллах, если их у вас очень много.


#op

#op[доска,тред]()

Возвращает true, если пост является оп-постом. Аргумент игнорируется. Позволяет скрывать только треды, не затрагивая обычные посты, либо наоборот. Примеры:

  • (#op & #words(еот)) — скроет треды, содержащие слово "еот" в оп-посте.
  • (!#op & #words(бамп)) — скроет обычные посты, содержащие слово "бамп". Оп-посты и, соответственно, сами треды скрываться не будут.
  • (#op[a] & !#words(ня)) — скроет треды на доске /a/, не содержащие в оп-посте слово "ня".
  • (!#op & #words[s](соснули)) — скроет обычные посты на доске /s/, содержащие слово "соснули", не затрагивая оп-посты и не скрывая треды.

Важно! #op является лишь индикатором оп-поста (т.е. треда) и не допускает каких-либо данных в аргументе.

  • #op(дурачьё) — неверно! Это эквивалентно #op(), и скроет все ваши треды.
  • (#op & #words(дурачьё)) — правильная запись!

Анти-вайп детектор #wipe

Скрипт имеет встроенные алгоритмы поиска текстовых сообщений, заведомо подходящих под определение вайпа и не характерных для обычного текста. Такие сообщения, как правило, содержат большой процент повторяющихся слов и строк, нехарактерный размер и символьное содержимое слов.

Спелл антивайп-детектора имеет формат:

#wipe[доска,тред](список)

Аргумент списка может содержать следующие парметры, перечисляемые через запятую:

  • samelines — детектор текста с большим процентом повторяющихся строк,
  • samewords — детектор текста с большим процентом повторяющихся слов,
  • longwords — детектор длинных слов, нехарактерных для простого текста,
  • symbols — детектор текста с большим процентом небуквенных символов,
  • capslock — детектор текста с большим процентом капслока,
  • numbers — детектор текста с большим процентом числовых символов,
  • whitespace — детектор "пустых" постов с большим количеством пробелов.

Примеры использования:

  • #wipe(samelines,samewords,longwords,numbers) — включает перечисленные детекторы на всех досках.
  • #wipe[b,32767](capslock,symbols) — включает в треде №32767 доски /b/ перечисленные детекторы.
  • (!#op & #wipe[b](capslock)) — включает детектор capslock на доске /b/, не затрагивая оп-посты и не скрывая треды.
  • (#op[a] & #wipe(samelines)) — включает детектор samelines на доске /a/, скрывая только треды.

#subj

#subj[доска,тред](регекс)

Возвращает true, если текстовая информация темы поста соответствует регексу (регулярному выражению), указанному в аргументе. Если аргумента нет, то возвращает true в случае наличия темы в посте.

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

  • #subj(/sage/i) — скрыть любой пост или тред, содержащий слово "sage" в теме.
  • #subj[b,32767] — скрыть в треде №32767 доски /b/ посты с наличием темы.
  • (#all[b,32767] & !#subj) — скрыть в треде №32767 доски /b/ посты без наличия темы.
  • (#op[b] & !#subj) — скрыть на доске /b/ треды без наличия темы.
  • (#op[b] & #subj(/newfags|triforce/i)) — скрыть на доске /b/ треды с наличием в теме слов "newfags" или "triforce", например, "Newfags vs oldfags", "You can't triforce".
  • #subj(/^[^a-zа-я\.]+$/) — скрывать треды с КАПСЛОКОМ в теме.

#name

#name[доска,тред](строка)

Возвращает true, если имя пользователя в посте содержит выражение, указанное в аргументе строки, с учетом регистра. Если аргумента нет, то возвращает true в случае наличия имени в посте. Примеры:

  • #name[a](Вася) — скрыть на доске /a/ любой пост или тред со словом "Вася" в имени.
  • #name[b,32767](Сажа) — скрыть в треде №32767 доски /b/ посты, содержащие слово "Сажа" в имени, например, посты неймфага "Сажа-кун".

#trip

#trip[доска,тред](строка)

Возвращает true, если трип-код пользователя в посте равен указанному аргументу строки. Если аргумента нет, то возвращает true в случае наличия трип-кода в посте. Примеры:

  • #trip — скрыть любой пост или тред с трипкодом.
  • #trip(TRiF0RCE9) — скрыть любой пост или тред с трипкодом "!TRiF0RCE9" или "!!TRiF0RCE9".
  • #trip[s,32767](!!Canc3RL0L4) — скрыть в треде №32767 доски /s/ посты с трипкодом "!!Canc3RL0L4".
  • (#name(Oldfag) & #trip(!O.L.D.w79+!!2GE305Qc4)) — скрыть везде неймфага, который подписывается как "Oldfag!O.L.D.w79+!!2GE305Qc4"".
  • !#trip — скрыть любой пост или тред, не содержащий трипкод.
  • (#all[a,4095] & !#trip) — скрыть в треде №4095 доски /a/ посты без трипкода.
  • (#all[a,4095] & !#trip(!nyanCaT+73)) — скрыть в треде №4095 доски /a/ посты без трипкода "!nyanCaT+73".

#sage

#sage[доска,тред]()

Возвращает true, если пост содержит сажу. Аргумент игнорируется. Примеры:

  • #sage — скрыть во всех тредах и досках посты с сажей.
  • (#sage[b,32767] & #name(Sage-kun)) — скрыть в треде №32767 доски /b/ посты с сажей от Sage-kun'a.

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


#tlen

#tlen[доска,тред](аргумент)

Возвращает true, если длина текста поста соответствует аргументу выражения. Может содержать точные значения, диапазоны и перечисления. Если аргумента нет, то возвращает true в случае наличия текста в посте. Примеры:

  • #tlen(22) — скрыть посты с текстом длиной в 22 символа.
  • #tlen(500-10000) — скрыть посты с текстом большим, чем 500 символов.
  • #tlen[ph](0-100,225,500-1000) — скрыть на доске /ph/ посты с текстом, который имеет размер, указанный в списке.
  • (!#op & #tlen) — скрыть посты, содержащие текст. Оп-посты и треды игнорируются.
  • (#sage & !#tlen) — скрыть посты с сажей, не содержащие текст.
  • #tlen[b,32767](0-20) — скрыть в треде №32767 доски /b/ посты с текстом меньшим, чем 20 символов.
  • (#all[b,32767] & !#tlen(50-100)) — скрыть в треде №32767 доски /b/ посты с текстом меньшим, чем 50 символов, или большим, чем 100 символов.

Если в посте, который не содержит текст, выбрать меню "Скрывать без текста" по кнопке скрытия поста/треда, то в список спеллов добавится !#tlen.


#num

#num[доска,тред](аргумент)

Возвращает true, если номер поста соответствует аргументу выражения. Аргумент обязателен и, как и в случае со спеллом #tlen, может содержать точные значения, диапазоны и перечисления. Используйте этот спелл, чтобы прямо скрывать посты по их порядковым номерам, либо исключить данные посты из области действия фильтров. Примеры:

  • #num[b,32767](100-200) — скрыть в треде №32767 доски /b/ посты с порядковыми номерами между 100 и 200.
  • #num[m,65535](100-200,255,300-500) — скрыть в треде №65535 доски /m/ посты с порядковыми номерами, указанными в списке.

Спелл имеет интересное свойство экранировать ваши посты от любых фильтров. Для этого добавьте в начало вашего списка конструкцию !#num[доска,тред](аргумент) &. Пример:

!#num[b,32767](50-150) &
!#num[m,65535](100-200) &
#wipe(samelines,samewords,longwords,numbers)

Данное выражение позволяет защитить от антивайп-детектора в треде №32767 доски /b/ и в треде №65535 доски /m/ посты, указанные в диапазоне.


#img

#img[доска,тред](аргумент)

Возвращает true, если параметры изображения в посте соответствуют аргументу выражения. Аргумент имеет следующий формат:

[><=][вес_1[-вес_2]][@{ширина_1[-ширина_2]}x{высота_1[-высота_2]}]

Если аргумента нет, то спелл возвращает true в случае наличия изображения в посте.

Спелл позволяет скрывать посты по числовой информации о прикрепленных картинках, посредством сравнения параметров их веса, ширины и высоты. Для указания веса картинки на любых имиджбордах в скрипте используется унифицированная запись в килобайтах, с умножением числа Мб на 1000 или делением числа байт на 1000 и округлением до двух цифр после запятой. К примеру, если в посте указано текстом 100KB, то нужно ввести 100. Аналогично: 100.85KB = 100.85, 1.84MB = 1840, 150955B = 150.96, 760B = 0.76.

Примеры использования с точными значениями, без указания диапазона:

  • #img[b,32767] — скрыть в треде №32767 доски /b/ посты с картинками.
  • !#img — скрыть на любых досках посты без картинок.
  • (#all[b,32767] & !#img) — скрыть в треде №32767 доски /b/ посты без картинок.
  • #img(<35@640x480) — скрыть посты с картинками меньше 35Кб и размером меньше 640x480.
  • #img(>@640x480) — скрыть посты с картинками больше 640x480.
  • #img(<@300x100) — скрыть посты с картинками меньше 300x100.
  • (#op & #img(=@900x700)) — скрыть треды с картинками в оп-посте размером 900x700.
  • (#op & #img[b](>1500)) — скрыть треды на доске /b/ с картинками в оп-посте весом больше 1.5 Мб.
  • #img[a,65535](=180.50) — скрыть в треде №65535 доски /a/ посты с картинками весом в 180.5 Кб.
  • (!#img | #img(<1)) — скрыть посты с картинками весом меньше 1 Кб, а также посты без картинок.
  • (#sage & #img & !#tlen) — скрыть на любых досках посты c картинками и сажей, но без текста.
  • (#img(=61@745x559) | #img(=7@215x250)) & (#all[vg] | #all[moba]) — скрывать два изображения с указанными параметрами на досках /vg/ и /moba/.

Ниже приведены примеры с указанием диапазона значений в качестве параметра. Обратите внимание, что литералы > и < чувствительны только к первому значению диапазона:

  • #img(=30-60@640x480) — скрыть посты с картинками весом от 30 до 60 Кб и размером 640x480.
  • #img(=29.80-30.20) — скрыть посты с картинками весом от 29.8 до 30.2 Кб.
  • #img(=@300-500x500-700) — скрыть посты с картинками размером от 300x500 до 500x700.
  • #img(=75@700-900x200) — скрыть посты с картинками весом в 75 Кб и размером от 700x200 до 900x200.
  • #img(<200-300) — эквивалентно #img(<200).
  • #img(>@800-1000x600) — эквивалентно #img(>@800x600).

Если вам лень вводить параметры изображения и вычислять их вес, то вы можете выбрать меню "Скрывать по размеру картинки" кнопки скрытия поста/треда, и #img добавится в список спеллов автоматически. Вам останется только отредактировать условия. Если пост не содержит изображений, и вы выберете пункт меню "Скрывать без картинок", то в список спеллов добавится !#img.


#imgn

#imgn[доска,тред](регекс)

Возвращает true, если текстовая информация об изображении в посте соответствует регексу (регулярному выражению), указанному в аргументе. Аргумент обязателен. Например, для досок с информацией о картинках вида (1040 KB, 900x700, Trollface.gif), применение спелла может выглядеть так:

  • #imgn(/\.gif/i) — скрыть посты с .gif-файлами.
  • #imgn(/trollface/i) — скрыть посты, содержащие имя файла "trollface", "TROLLface", и т.п.
  • #imgn[b,32767](/Trollface\.gif/) — скрыть в треде №32767 доски /b/ посты, содержащие файл "Trollface.gif".
  • #imgn(/1040 KB/) — аналог #img(=1040), плюс — выполняется быстрее, минус — привязано к особенности текущего имиджборда. На другом имиджборде это может быть "1040Кб", либо "1.04 Mb".
  • #imgn(/900x700/) — аналог #img(=@900x700), выполняется быстрее. Учтите, на некоторых имиджбордах вместо "x" может быть другой символ.

#ihash

#ihash[доска,тред](хэш)

Возвращает true, если изображение в посте соответствует хэшу, указанному в аргументе. Аргумент обязателен.

Спелл позволяет интеллектуально скрывать схожие изображения, сравнивая их хеш-код, получаемый методом фильтрации и вычисления контрольной суммы. Для этого наведите курсор на кнопку скрытия поста с изображением и выберите в меню "Скрывать по схожей картинке". Сгенерированный хеш со спеллом #ihash автоматически добавится в список спеллов. Пример полученных выражений:

  • #ihash(603323568) — все посты с изображениями, соответствующими данному хеш-коду, будут скрыты.
  • #ihash[b,32767](267050447) & !#tlen — скрыть в треде №32767 доски /b/ посты без текста и с эквивалентной данному хэшу картинкой.

#exp

#exp[доска,тред](регекс)

Возвращает true, если текст поста соответствует регексу (регулярному выражению), указанному в аргументе. Аргумент обязателен.

Спелл позволяет использовать регулярные выражения для поиска и скрытия по текстовому содержимому поста, без учета разметки. Примеры:

  • #exp(/^\s*[а-яa-z]/) — скрыть посты, начинающиеся с маленькой буквы.
  • #exp(/^[^A-ZА-Я\.]+$/) — скрыть посты без заглавных букв и точек.
  • #exp[b](/\u25b2\s\u25b2/) — скрыть трифорсы на доске /b/.
  • #exp[b,32767](/(?:>>\d+\s*){8}/) — скрыть вайп >>ссылками в треде №32767 доски /b/.
  • #exp(/[fs]uck|fag|dick/i) — "fuck", "Suck", "FAG", "dick", и т.п..
  • #exp(/[hd]urr/i) — "hurr", "HURR", "durr", "DuRr", и т.п.
  • (#op & #exp(/конф(?:ер|[оау]ч?|ы)/i)) — "конфочка", "конференция", и т.п. в оп-постах.
  • #exp(/в ?контакт/i) — "в контакте", "вконтакт", и т.п.
  • #exp(/[^a-zа-я](?:re|ре)?(?:roll|ролл)/i) — "roll", "reroll", "ролл", "реролл", и т.п.
  • (#exp(/^[^A-ZА-Я>]+$/) & !#img & !#video) — скрывает все посты, в которых нет заглавных букв, если не прикреплено видео или картинка.
  • #exp(/[ -]кун[-.,?!ауы ]|кунчик|[ -]тян[-.,?!ые ]|тян$|кун$|[ -]тн[яе]|[ -]тянк[еаиу]|[ -]тян[оy]чк[еаиу]|тянучек|[ -]тяночкой|кунам|кунов|тянам|тнн|кнн/i) — "тяночку", "кунчика", "-тян", "-кун", "тянка", "тянучка", и т.п.
  • #exp(/2[kк]1\d/i) — "2к16", "2к17", "2k16", "2K18", и т.п.
  • #exp(/вр[её]+ти+/i) — "врёти", "врёёёёётии", "вретииииииииии", и т.п.
  • #exp(/лампово|ламповая|отношени[яй]|отношашки|отношашек| ебл[яюие]|[её]б[ыа]р|альфач|омеган/i) — "ламповая", "отношашки", "ебля", "еблю", "ёбарь", "ебыря", "альфач", и т.п.
  • #exp(/кекнул|сереньк| ору[! ]|орнул|проорал| ч[её]т |за щ[её]ку|защеку|ман[яь]/i) — "кекнул", "серенькнул", "проорал", "чёт", "ору", "за щёку", "маня", "мань".
  • #exp(/хуйл|укроп|рашк|пидора[хш]|ватник|\+15|с[тр]алин|совки|совках|совковы|совкобляд|русн[яюие]/i) — "хуйло", "укроп", "пидорашка", "ватник", "+15", "сралин", "совковый", "русня".
  • (#op & #exp(/fap|фап|трапотред|милф|milf|рулетка|хуетред/i)) — фапотреды, рулеткотреды, милфотреды...
  • (#exp(/задавай|спрашивай/i) & #exp(/ответ|вопрос/i)) — задавайте вопросы, спрашивайте ответы, спрашивайте вопросы, задавайте ответы
  • (#exp(/оцени|анона/i) & #exp(/член|ху[йя]|глаза?/i)) — оцени хуй, глаз анона, оцени глаза, анона член тред
  • #exp(/рулетк[ао]|roll|ролл|дабл|трипл|сакральный олень/i) — скрыть рулеткотреды и рулеткопосты

#exph

#exph[доска,тред](регекс)

Возвращает true, если разметка поста соответствует регексу (регулярному выражению), указанному в аргументе. Аргумент обязателен.

Спелл дает возможность скрывать посты, применяя к их html коду регулярные выражения. Это позволяет делать анализ по разметке и структуре поста. Обратите внимание, что данный спелл выполняется медленнее, чем #exp, но охватывает все содержимое поста полностью, тогда как #exp проверяет только само текстовое сообщение. Примеры использования:

  • #exph(/(?:<strong>|<b>)[А-Я]{3}/) — скрыть посты с жирным капслоком.
  • (#op & #exph(/\/sticky\.png/i)) — автоскрытие закреплённых тредов.
  • #exph(/(?:<br>\s*){4}/i) — скрыть вайп пустыми строками (переносами строки).
  • #exph(/mailto:sage/i) — аналог спелла #sage.
  • #exph(/<span[^>]+postertrip/i) — аналог спелла #trip.
  • (#op & #exph[b](/(?:new|old)fags can.*t/i)) — скрывать на доске /b/ "Newfags can't triforce" треды.
  • #exph[int](/src="\/images\/balls\/fi.png"/) — скрыть на krautchan.net/int/ посты из Финляндии.
  • #exph[int](/title="Russian Federation"/) — скрыть на 4chan.org/int/ или /pol/ посты из России.
  • #exph[po](/src="\/icons\/logos\/sion.png"/) — скрыть на 2ch.hk посты со значком "Сионизм".
  • (!#op & #exph(/# OP/)) — скрыть на 2ch.hk посты опа, не скрывая оп-пост.
  • #exph(/title=".*?"> *Стикер/ig) — скрывать посты со стикерами на 2ch.hk.
  • #exph(/<img src="/flags/ua.png"/ig) — скрывать посты из Украины на 2ch.hk.

#video

#video[доска,тред](регекс)

Возвращает true, если заголовок видео в посте соответствует регексу (регулярному выражению), указанному в аргументе. Если аргумента нет, то возвращает true в случае наличия видео в посте. Если есть агрумент и отключена опция Ссылки > Загружать названия к YouTube ссылкам*, то всегда возвращает false.

Спелл позволяет скрывать посты, применяя регулярные выражения к названиям загруженных youtube-роликов:

  • #video[b](/rickroll/i) — скрыть на доске /b/ посты с youtube-рикроллом.
  • #video(/vocaloid|miku|iosys|nya|neko|japan|touhou|anime/i) — скрыть по всем перечисленным совпадениям в названии.
  • #video(/цой|летов|гражданск|rick|skrillex|bieber/i)

Важно! Для работы данного спелла включите опцию Ссылки > Загружать названия к YouTube ссылкам*.


#vauthor

#vauthor[доска,тред](строка)

Возвращает true, если автор видео в посте соответствует строке, указанной в аргументе. Если отключена опция Ссылки > Загружать названия к YouTube ссылкам*, то всегда возвращает false.

Спелл позволяет скрывать посты по совпадению с автором загруженных youtube-видеороликов:

  • #vauthor(Sthephan Shi)
  • #vauthor[mu](RickAstleyVEVO)

Важно! Для работы данного спелла включите опцию Ссылки > Загружать названия к YouTube ссылкам*.


Спеллы замены

#rep

#rep[доска,тред](регекс,строка)

Спелл позволяет заменять html код тредов посредством регексов (регулярных выражений) на заданную по усмотрению пользователя строку. После внесения команды в список, изменения произойдут только при обновлении страницы. В регулярном выражении обязателен флаг /g, чтобы изменения происходили по всем найденным совпадениям. Примеры использования:

  • #rep(/Вася/g,Петя) — примитивная замена слова.
  • #rep(/Вася/ig,Петя) — совпадёт с вася, ВАСЯ, Вася и т.д., и заменит на Петя. Флаг i — нечувствительность к регистру.
  • #rep(/\(123\)/g,(321\)) — заменяет (123) на (321); обратите внимание на то, что символ ) в строке экранирован.
  • #rep(/http:\/\/2ip.ru[^<> ]*/ig,) — удаляет ссылки на 2ip.ru.
  • #rep(/-red-(.*?)-red-/ig,<font color="red"></font>) — можно писать -red-красным-red-.
  • #rep(/chrome|хром/ig,псевдобраузер)
  • #rep[s](/([^a-zа-я])(?:(?:GNU|ЖМУ|ГНУ).?)?(?:linu(?:x|ks)|лин\[еуа](?:[кп]с|х)(?:а|е|о[мв]|у)?|debian|gentoo|arch|fedora|slackware|(?:open)?suse|red ?hat|RHEL|[a-z]?ubuntu|(?:[а-я]?убунт|(?:г|дж)ент|федор|слак)(?:а|у|ой|е)|(?:дебиан|арч)(?:[ое]м|ч?ик|е|а|у)?|сус(?:я|ю|ей))/ig,$1ПитухОС) — автозамена для /s/, заменяет все линуксы на ПитухОС.
  • #rep(/<[^>]+postername">Сырно<\/span>/ig,) — скрыть имя по умолчанию на iichan.hk.
  • #rep(/<span class="commentpostername">Сырно<\/span>/g,<span class="commentpostername">Аноним</span>) — заменить на iichan.hk имя по умолчанию на Аноним. Работает только на ответах (ОП остаётся Сырно), но работает быстрее предыдущего примера.
  • #rep(/(№(?:<\/a><a[^>]+>)?\d*)(\d)(\2+)</g,$1<font color="red">$2$3</font><) — подсветка красным даблов, триплов и т.д. на 2ch.hk.
  • #rep(/в?(к|контакте|тентакле|параше|кудахте|паше|дурове?)\.(ком|com)/ig,vk.com) — исправление сленгоназваний вконтакте на vk.com

Данный спелл должен быть обособлен от остальных спеллов, кроме #outrep.


#outrep

#outrep[доска,тред](регекс,строка)

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

  • #outrep(/\.{3}/g,…) — замена трех точек на символ многоточия.
  • #outrep(/ - /g, — ) — заменять дефис с пробелами на тире.
  • #outrep(/быдло/ig,б*ы*дло)
  • #outrep(/школьник/ig,школь[b][/b]ник)
  • #outrep(/(>>\d+)\s*(?!\n)/g,$1\n) — спелл, ставящий за вас заглавные буквы и автоматически начинающий новый абзац после номера поста.

Данный спелл должен быть обособлен от остальных спеллов, кроме #rep.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.