ClueBot Script — это простой язык сценариев, разработанный специально для самых простых задач ботов Википедии.
Синтаксис очень похож на синтаксис PHP. Каждое выражение должно заканчиваться точкой с запятой (";"). Условные операторы группируются в скобках ("()"). Группы выражений группируются в фигурных скобках ("{}"). Переменные имеют префикс в виде знака процента ("%"). Функции имеют префикс в виде знака доллара ("$").
если условное выражение
Выполняет оператор , если условие выполнено.
в то время как условный оператор
Выполнять оператор до тех пор, пока условие не перестанет выполняться.
оператор %value разделителя списка foreach
Для каждого элемента списка, list , разделенного разделителем, delimiter , установите %value равным значению текущего элемента и выполните оператор .
eval Скрипт ClueBot
Оцените строку ClueBot Script как ClueBot Script.
установить %переменную условное/значение
Устанавливает %переменную в значение conditional/value .
неустановленная %переменная
Отменяет установку %variable .
varappend %переменные данные
Добавьте данные data в конец %variable .
varprepend %переменные данные
Добавьте данные data в конец %variable .
pagereplace 1 страница поиск замена
Заменяет все вхождения строки search на строку replace на странице page .
pagepregreplace 1 страница поиск замена
Заменяет все вхождения регулярного выражения search на строку регулярного выражения replace на странице page .
pageprepend 1 страница данных
Добавляет данные в начало страницы .
pageappend 1 страница данных
Добавляет данные в конец страницы .
набор страниц 1 данные страницы
Устанавливает содержимое страницы page в соответствии с данными data .
pageget страница %data
Извлекает страницу page в переменную %data .
getrecentchanges %data разделитель количество
Извлекает имена страниц в подсчете последних изменений в переменную %data , разделенную строковым разделителем . Параметр подсчета является необязательным и по умолчанию равен 10.
getcategorymembers %data разделитель категория количество начало
Извлекает имена страниц в категории category , начиная с start, в переменную %data . Параметр count является необязательным и по умолчанию равен 500. Параметр start является необязательным и по умолчанию равен первой странице в категории.
getbacklinks %data разделитель количество страниц %continue
Извлекает страницы, ссылающиеся на страницу, в переменную %data . Параметр count необязателен. Параметр %continue необязателен, но если указан, он определит, где продолжить; когда оператор завершится, %continue будет заполнен тем местом, где он остановился, поэтому передайте его обратно, чтобы продолжить с того места, где он остановился.
getembeddedin %data разделитель количество страниц %continue
Извлекает страницы, которые включают page в переменную %data . Параметр count необязателен. Параметр %continue необязателен, но если он указан, он определит, где продолжить; когда оператор завершится, %continue будет заполнен тем местом, где он остановился, поэтому передайте его обратно, чтобы продолжить с того места, где он остановился.
getmodifiedtime %время страница
Извлекает последнюю измененную временную метку unix страницы в %time .
$cat( строка1 , строка2 , строка3 ,...)
Возвращает объединенные входные строки. + — псевдоним для cat .
$substr( строка , начало )
$substr( строка , начало , длина )
Возвращает часть строки . Если длина опущена, возвращается строка , начиная с начала до конца строки , в противном случае возвращается длина символов, начиная с начала . Эта функция работает точно так же, как функция PHP substr]. mid — это псевдоним для substr .
$gettok( список , разделитель , идентификатор )
$settok( список , разделитель , идентификатор , данные )
$addtok( список , разделитель , данные )
$deltok( список , разделитель , идентификатор )
Id начинается с 1. List — это список с разделителями. Delimiter — это разделитель списка. Gettok возвращает id -ный элемент в списке, если только id не равен 0, тогда он возвращает количество элементов в списке. Settok устанавливает элемент в списке, перезаписывая предыдущее значение (при необходимости). Addtok добавляет элемент в конец списка. Deltok удаляет id -ный элемент из списка.
$strpos( стог сена , иголка )
$strpos( стог сена , иголка , смещение )
$stripos( стог сена , иголка )
$stripos( стог сена , иголка , смещение )
Возвращает числовую позицию первого вхождения (или смещения , если задано смещение ) иглы в строке haystack . strpos и stripos — это одно и то же, за исключением того, что stripos нечувствителен к регистру.
$replace( данные , поиск1 , замена1 , поиск2 , замена2 ,...,..., поискN , заменаN )
Заменить каждое вхождение поиска на replace . Одновременно можно задать несколько пар поиска/замены.
$pregreplace( данные , регулярное_выражение_поиска , регулярное_выражение_замены )
Выполняет поиск/замену данных по регулярному выражению . searchregex — это шаблон для сопоставления, а replaceregex — то, чем его следует заменить.
$время(0)
Возвращает временную метку Unix.
установить %page "Пользователь:ClueBot II/Sandbox";установить %data "{{db-user}}";set %reason "А теперь мы помечаем его для удаления. (бот)";набор страниц %страница %данные %причина;
getcategorymembers %cm "\n" "Боты Википедии";установить %вывод "";foreach %cm "\n" %page { если ($mid(%page,0,5) == 'Пользователь:') { varappend %output $cat("\n* [[",%page,"|",$mid(%page,5),"]]"); }}pageappend "Wikipedia:Sandbox" $cat("\n\nВот список ботов на первой странице [[:Category:Wikipedia bots]]:",%output) "Добавление списка ботов.";