"Для разработчиков", "Серверные скрипты", "Описание функций", "История сообщений", "mRemovePrivateHistory".
Функция для выборочного удаления истории приватных сообщений на сервере и выбранных клиентах за диапазон времени.
Операцию нельзя "откатить" назад, будьте внимательны, история удаляется безвозвратно.
Все офлайн-пользователи получат команду на удаление истории приватных диалогов сразу после подключения, автоматически.
function mRemovePrivateHistory(const sUsersList: string; const dtUTCStart, dtUTCEnd: double): string;
Параметр |
Тип |
Значение |
---|---|---|
sUsersList |
string |
список UIN-ов пользователей, для которых нужно удалить историю. Можно указать слово "all", тогда будет удалена история для всех пользователей; |
dtUTCStart |
double |
дата и время в UTC, с которой нужно удалять сообщения. История пишется только в UTC, поэтому нужно учитывать коррекцию относительно локальной даты и времени; |
dtUTCEnd |
double |
дата и время в UTC, по которую нужно удалять сообщения. |
Список UIN-ов пользователей через запятую, для которых была найдена и удалена история за указанный диапазон времени. Если возвращена пустая строка — истории нет либо она уже удалялась ранее.
Удалить историю приватов для пользователя UIN=15427 с "начала времён" по "вчера". Поскольку приватные разговоры — это парные диалоги, то они удаляются не только для указанного пользователя, но и для его собеседников. Например, UIN 15427 разговаривал с UIN 6 и UIN 3. Получается 2 диалога, все они будут очищены как у UIN 15427, так и у пользователей с UIN 6 и 3. Остальные диалоги у UIN 6 и 3 останутся нетронутыми.
Обратите внимание, что повторное выполнение скрипта отрабатывает намного быстрее, потому что данные уже удалены.
begin
mRemovePrivateHistory('15427', NoDate, LocalTimeToUTC(IncDay(Now, -1)));
end.
[09:56:14] (Run "RemoveData"): Время выполнения скрипта: 1477 мс
[09:56:14] (Run "RemoveData"): Скрипт выполнен успешно.
[09:56:19] (Run "RemoveData"): Время выполнения скрипта: 283 мс
[09:56:19] (Run "RemoveData"): Скрипт выполнен успешно.