Анкеты хранят различную информацию о пользователях. У администрации имеется возможность поместить анкету пользователя в чёрный список. При этом анкета будет доступна для просмотра только автору и администрации до устранения причин запрета. Имеется поиск анкет по различным параметрам и система рейтингов. Также есть чистка базы анкет от незарегистрированных аккаунтов.
Создать свою анкету можно по команде !ank_add. Удалить свою анкету можно по команде !ank_del. Задать контент выбранного пункта анкеты (ключа) можно по команде !ank_set <ключ> <контент>. Ключ представляет собой идентификатор пункта анкеты. Посмотреть анкету пользователя можно по команде !ank_see [<ник>]. Если ник не указан, то будет выведен список пользователей с анкетами. Найти анкету по параметрам (ключевым словам) выбранного поля (ключа) анкеты можно по команде !ank_find <ключ> <параметры>. В параметре при задании шаблона поиска можно использовать специальный символ "*", что означает, что на этом месте может стоять любая буква (символ). Поиск регистронезависимый. Посмотреть рейтинг активности анкет можно по команде !ank_rate. Запретить/разрешить анкету выбранного пользователя можно по команде !ank_bl [<ник> [<причина>]]. При запрете анкеты необходимо указать причину. Команда без параметров выведет список запрещённых анкет. Провести чистку анкет от незарегистрированных аккаунтов можно по команде !ank_clean. При этом из анкет будут удалены пункты, которые больше не используются (в случае смены таблицы шаблона анкеты). Посмотреть справку по анкетам можно по команде !ank_help.
Если константе Anketa_isClean в файле Vars.lua присвоено значение 1, то будет производиться ежесуточная очистка базы анкет от незарегистрированных пользователей. Если константе Anketa_isChat присвоено значение 1, то пользователям, у которых есть возможность создать анкету, будет выдаваться соответствующее напоминание при входе. Константа AnketaTable представляет собой таблицу с шаблонами пунктов анкет. Их можно менять и создавать любые желаемые пункты. Вот её структура:
AnketaTable
= {
{
"ключ",
"Название",
"Пояснение",
Количество символов,
"Шаблон контента",
},
}
Эта таблица загружается при запуске плагина из файла в папки плагина с названием AnketaTable_lang.lua, где lang - язык по умолчанию. Внутри этой таблицы содержатся таблицы пунктов. Первый элемент таблицы пункта представляет собой идентификатор (ключ). Второй - это название пункта. Третий - пояснение. Четвёртый - количество разрешённых символов контента пункта. Если пользователь задаёт для него бОльшее число символов, то Бот сообщит о недопустимом количестве символов. Пятый элемент - это шаблон LUA RegEx контента. Если задаваемый текст не соответствует шаблону для этого пункта, Бот сообщит о недопустимом содержании контента пункта.
База анкет хранится в файле Anketa. База чёрного списка хранится в файле AnketaBL. В служебном файле AnketaLog хранится временная база просмотров анкет.