|
|
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток всем. В очередной раз прошу помощи с кодировкой строк - в этой теме я не очень силен. В двух словах проблема следующая. Есть у меня некий CMD-файл. Результат его работы при нормальном выполнении и выведении в файл выглядит вполне себе нормально, что-то типа такого: "C:\Work\Woken Space\Woken_DB>C:\Windows\SysWOW64\chcp.com 65001 Active code page: 65001 C:\Work\Woken Space\Woken_DB>Cr_Base.Cmd C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe DBCreatorLocal Woken_DB C:\Work\Woken Space\Woken_DB>Rem ----- Создание базы ----- C:\Work\Woken Space\Woken_DB>C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe --login-path=DBCreatorLocal -c 0<CreateDB.SQL 1>Logs\CreateDB.Log 2>&1 C:\Work\Woken Space\Woken_DB>Rem ----- Таблицы ----- C:\Work\Woken Space\Woken_DB>Rem ----- Настройки системы ----- C:\Work\Woken Space\Woken_DB>C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe --login-path=DBCreatorLocal Woken_DB -c 0<Tables\tbSettings.SQL 1>Logs\tbSettings.Log 2>&1" Кодировка файла, как и заказывалась, UTF-8 (65001) Возникла у меня необходимость выполнения этого файла из своей программы и выведения этих результатов в собственную консоль. На текущий момент я испробовал два метода - функцию Execute из Jedi Code Library и компонент DosCommand. Библиотеки разные, поэтому с определенной долей уверенности можно говорить, что проблема не в них. Результат перехвата выглядит так: "C:\Work\Woken Space\Woken_DB>Cr_Base.Cmd C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe DBCreatorLocal Woken_DB C:\Work\Woken Space\Woken_DB>Rem ----- ¦б¦-¦¬¦+¦-¦-¦¬¦¦ ¦-¦-¦¬TЛ ----- C:\Work\Woken Space\Woken_DB>C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe --login-path=DBCreatorLocal -c 0<CreateDB.SQL 1>Logs\CreateDB.Log 2>&1 C:\Work\Woken Space\Woken_DB>Rem ----- ¦в¦-¦-¦¬¦¬TЖTЛ ----- C:\Work\Woken Space\Woken_DB>Rem ----- ¦Э¦-TБTВTА¦-¦¦¦¦¦¬ TБ¦¬TБTВ¦¦¦-TЛ ----- C:\Work\Woken Space\Woken_DB>C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe --login-path=DBCreatorLocal Woken_DB -c 0<Tables\tbSettings.SQL 1>Logs\tbSettings.Log 2>&1" Кодировка сохраненного файла при отсутствии попыток перекодирования - 1252. Все русские строки, соответственно, попорчены. Мои неуклюжие попытки перекодирования результатов не дают. Отсюда вопрос: можно ли при получении перехваченной строки как-то преобразовать ее к нормальному виду или копать надо где-то в другом месте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 06:23 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur Кодировка сохраненного файла при отсутствии попыток перекодирования - 1252. Все русские строки, соответственно, попорчены. Как именно сохраняется файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 09:41 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
alekcvp, сейчас втупую в Lines TMemo добавляется каждая приходящая строка. В DosCommand Lines - это свойство компонента, он заполняет ее сам. В Jedi есть процедура, которая возвращает строки из консоли, я беру каждую строку и делаю TMemo.Lines.Add(). Пробовал определять кодировку каждой строки - строка без русских букв возвращает 0, с русскими - 1252. Memo.Lines.SaveToFile без явного указания кодировки создает файл в кодировке 1252 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 09:53 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur, Ну ты же учитываешь, что в Lines.Add() добавляется string в UTF-16LE, а из приложения тебе приходит тупо набор байт в кодировке UTF-8? Вот где-то в этой цепочке данные и теряются. Попробуй сразу писать в файл то что приходит, через TFileStream.Write(), например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 10:38 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
alekcvp, проблема в том, что сейчас мне из приложения приходит не набор байт, а конкретно строка. Перевести ее в набор байт не проблема, но где гарантия, что этот набор байт будет тем же самым, из которого Jedi формирует строку для передачи ее в свой хэндлер? А DosCommand вообще не пускает меня в обработку - я передаю ему нужный Lines и он заполняет его сам. Jedi хотя бы возвращает каждую строку. Получается, что я не могу конвертнуть эту строку перед записью в Lines в нужную кодировку? А писать сразу в файл мне бессмысленно - тогда уж лучше сразу выполнять команду типа "1.CMD > tmpfile". Я вчера так пробовал - прекрасно работает. Но неинтересно это, некрасиво. Хотя как крайний вариант я это в голове держу... :-) P. S. У DosCommand есть 2 события - OnCharEncoding и OnCharDecoding. Параметр - буффер типа TStream. Но что с этим буфером делать - я пока не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 10:45 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur alekcvp, проблема в том, что сейчас мне из приложения приходит не набор байт, а конкретно строка. А DosCommand вообще не пускает меня в обработку - я передаю ему нужный Lines и он заполняет его сам. Ну тогда очевидно проблема в том, что все эти компоненты ничего не знают не то что про UTF8, а и даже про кириллицу. Выход вижу в написании всего этого дела самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 10:51 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur, Можешь попробовать https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1330938&msg=22235303 Там есть пример запуска cmd с ключём /U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 11:51 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gurпроблема в том, что сейчас мне из приложения приходит не набор байт, а конкретно строка. Нет, из приложения-то тебе как раз приходит набор байт. А проблема в том, что ты не понимаешь, что его интерпретация - полностью на тебе. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 14:17 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur, Кстати, а у тебя текст в cmd-файле в какой кодировке? Потому что команда chcp влияет только на отображение текста, а выводится он в той кодировке, в которой записан в cmdшнике. У тебя cmd-шник сам в UTF8 записан? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 14:54 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
alekcvp, UTF-8. 65001. И команда "1.CMD > 1.Log" тоже создает лог-файл в UTF-8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 15:18 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Воспользовался другой версией Jedi-вского Execute - она вместо работы с хэндлером возвращает полный текст вывода одним стрингом. Lines.Text := S1 дало тот же текст с кракозябрами. Однако конструкция Код: pascal 1. 2. 3. Дает прекрасный результат. Lines сохраняет файл в кодировке 65001. LoadFromFile без указания Encoding показывает текст с теми же кракозябрами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 16:16 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Проблема решена. Всем спасибо. Если кому интересно - хэндлер для Jedi-вского Execute: Код: pascal 1. 2. 3. 4. 5. 6. Кстати - опять же, если кому интересно - залитый из GetIt DosCommand имеет два обработчика - OnCharDecoding и OnCharEncoding. В процессе тестирования выяснилось, что OnCharEncoding просто нигде не вызывается и не обрабатывается. Забыли, наверное. Так что, для более интеллектуального (в смысле кодировок) использования он непригоден ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 16:30 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
С кодировками в консоли всё плохо... chcp только внутри cmd работает, для отрисовки на консоли, bat файл м.б. сохранён в любой кодировке, программы тоже могут выводить в любой (и вполне возможно - принудительно в ОЕМ, вне зависимости от внешних настроек), а еще есть WinAPI GetConsoleCP и GetConsoleOutputCP (отдельно на вход и выход!), которые не особо надежны, а для полного счастья есть еще и SetConsoleCP & SetConsoleOutputCP. Тоже сначала радостно решил перегнать все батчи в utf8, выставить кодировку консоли и забыть про ОЕМ как страшный сон. А вот хрен там. Ну то есть ECHO может и нормально сработает, а прикладные системные команды такого не умеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2020, 17:05 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal С кодировками в консоли всё плохо... В Лазаре проблем нет. Там для винды есть WinCPToUTF8 (без относительно текущей кодовой страницы), в никсах - все давно уже в UTF8 (разве что гики выставят другую кодировку) S_Gur, Application.ProcessMessages - зло © ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 17:13 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Док В Лазаре проблем нет. Там для винды есть WinCPToUTF8 (без относительно текущей кодовой страницы), В лазаре ровно те же проблемы. Они вообще ртл независмы. WinCPToUtf8 это для перевода системной анси-кодировки, той что CP_APC. Для консоли там ConsoleToUtf8, она предварительно делает конвертирование из Oem-кодировки в ansi, а потом в utf8. Но что ты будешь делать, когда тебе cmd отдаст utf16 вне зависимости от системных настроек... p.s. Прекращай пользоваться lazutf8, его выпилят - будешь переписывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 18:13 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Док В Лазаре проблем нет Везде под винду есть, пока живы старые утилиты, да и винда еще сама никак не перейдет на юникод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 20:10 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal да и винда еще сама никак не перейдет на юникод В десятке уже сделали utf-8 локаль. Пока, правда, бета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2020, 23:57 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey В десятке уже сделали utf-8 локаль. Пока, правда, бета. Вот и я о том же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2020, 02:04 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey WinCPToUtf8 это для перевода системной анси-кодировки, той что CP_APC. Для консоли там ConsoleToUtf8 Это теоретические познания или ты на практике проверял? У меня ConsoleToUtf8 как раз и не взлетела. По поводу lazutf8 - как только перейдут на UTF16 (имхо, перспектива ближайщих 3-5 лет, не раньше), так и будем думать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2020, 08:51 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Док Это теоретические познания или ты на практике проверял? Ты в код-то загляни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2020, 10:49 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur В процессе тестирования выяснилось, что OnCharEncoding просто нигде не вызывается и не обрабатывается. Забыли, наверное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2020, 11:37 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Кстати, если когда-нибудь ещё кому-то понадобится, вырезал из своего проекта и причесал, безо всяких дополнительных зависимостей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2020, 12:49 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2020, 18:59 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
alekcvp, отличный модуль. Большое спасибо. Я так понимаю, ты серьезно занимался подобными задачами. Тогда у меня сопутствующий вопрос: что в твоем понимании CommandLine? Только исполняемый файл или строка с параметрами выполнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2020, 22:34 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur, То же что и второй параметр в описании CreateProcess(). If lpApplicationName is NULL, the first white space–delimited token of the command line specifies the module name. If you are using a long file name that contains a space, use quoted strings to indicate where the file name ends and the arguments begin. If the file name does not contain an extension, .exe is appended. Therefore, if the file name extension is .com, this parameter must include the .com extension. If the file name ends in a period (.) with no extension, or if the file name contains a path, .exe is not appended. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2020, 22:59 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
alekcvp, тогда можно вопрос? Мне нужно выполнить следующую команду: C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe --login-path=DBCreatorLocal Woken_DB -c < C:\Work\Woken Space\Woken_DB\Procedures\prApplyServiceToAccount.SQL Как мне оформить ее? Напрямую при вызове mysql считает, что параметры неверные и соответственно выдает портянку с помощью. Пробовал брать в кавычки каждый параметр - до базы данных вроде принимает, после - опять ругается. Есть у меня подозрение, что надо как-то оформить символ "<", но пока уверенности нет. При обертке этой команды в cmd-файл безо всяких кавычек все прекрасно работает. Сама команда из командной строки тоже работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2020, 23:12 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur alekcvp, тогда можно вопрос? Мне нужно выполнить следующую команду: C:\OpenServer\modules\database\MySQL-8.0\bin\mysql.exe --login-path=DBCreatorLocal Woken_DB -c < C:\Work\Woken Space\Woken_DB\Procedures\prApplyServiceToAccount.SQL Как мне оформить ее? Напрямую при вызове mysql считает, что параметры неверные и соответственно выдает портянку с помощью. Пробовал брать в кавычки каждый параметр - до базы данных вроде принимает, после - опять ругается. Есть у меня подозрение, что надо как-то оформить символ "<", но пока уверенности нет. При обертке этой команды в cmd-файл безо всяких кавычек все прекрасно работает. Сама команда из командной строки тоже работает "<" - это перенаправление ввода, а там и так exeшник запускается с перенаправлением, для захвата. Возможно из-за этого где-то конфликтует. Тут не подскажу. Можно попробовать запустить "%comspec% /c ...", где ... - это ваша строка. Но будет лишняя "прослойка" в виде cmd.exe (как и при запуске через cmd-файл). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2020, 23:15 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
alekcvp, понятно, спасибо. В принципе, обертка в cmd хоть и чуть более хлопотная, но работает. Пока оставлю так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2020, 23:36 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
>, <, | это фичи cmd.exe ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 00:54 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal, это понятно. Но mysql.exe иначе файлы на вход не принимает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 00:57 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_GurНо mysql.exe иначе файлы на вход не принимает Или ты ему их не в ту трубу пихаешь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 01:22 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, а есть другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 01:57 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_Gur, Да, так же как перехватывали вывод - перехватить ввод и писать туда то что стоит после '<'. Но это уже следующий уровень сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 12:02 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
del ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 12:03 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
alekcvp, куда писать? Тут уже дело не в перехвате, а в формате команды. Перехватить можно что угодно, но без "<" MySQL не отработает. Это у него единственный формат выполнения скрипта из файла. Мне не нужно писать туда то, что после "<" - мне нужно все вместе. Тем более, что перехватывать ввод мне не надо - команду я формирую сам. Может быть, есть вариант, как подменить "<" какой-то комбинацией символов в подаваемой строке, но я его пока не нашел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 12:34 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_GurПерехватить можно что угодно, но без "<" MySQL не отработает. Это у него единственный формат выполнения скрипта из файла. Так тебе и не надо чтобы он выполнял "из файла". Посылай ему этот файл на стандартный ввод. Прочитай уже букварь о том как действует перенаправление ввода-вывода в cmd/bash/итп. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 13:37 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, блин, прежде, чем советовать, поинтересовался хотя бы, что за задача у меня. Настройка команды, которую я выполняю в этот момент, происходит в другом месте. Я понятия не имею, что я запускаю - блокнот, дельфи или игрушку. И в параметрах к этому выполняемому файлу мой подаваемый файл может идти, а может и нет. А может быть задан не исполняемый файл, а, например, текстовый - тогда он должен открываться ассоциативными средствами операционной системы. А в данном конкретном случае мне именно надо, чтобы он выполнял именно из файла . По условиям задачи я могу только получить несколько параметров (два из них - выполняемый файл и аргументы запуска) и собрать из них удобоваримую команду на выполнение, по возможности обработав их - например, взяв в двоеточие имя файла на случай, если в нем есть пробелы. Сейчас речь идет о том, могу ли я в настраиваемых параметрах на выполнение SQL-скрипта настроить аргументы так, чтобы ShellExecute или ему подобные функции смогли правильно выполнить команду или мне проще эту команду обернуть в CMD-файл и выполнить уже его. Что я и делаю сейчас вполне успешно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 13:58 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
S_GurНастройка команды, которую я выполняю в этот момент, происходит в другом месте. Я понятия не имею, что я запускаю - блокнот, дельфи или игрушку. И в параметрах к этому выполняемому файлу мой подаваемый файл может идти, а может и нет. А распарсить полученную команду и определить что за файл, его ассоциации, отделить параметры и обнаружить среди них команды перенаправления потоков - лень. Ок... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 14:03 |
|
||
|
Кодировка текста при перехвате консоли
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, а смысл какой? Мне надо было получить ответ от выполняемой команды - я его получаю. Чем твой вариант лучше выполнения CMD-файла, содержащего мою команду в том виде, в котором она была мне задана? Кроме того, что сейчас я пользуюсь готовым инструментарием и не трачу время на написание системных процедур, имеющих к моей основной задаче весьма отдаленное отношение. Тем более, что ситуация крайне редкая - конкретно в моем случае конструкция '< File.SQL' при необходимости легко заменяется на '-e "Source File.SQL"' безо всякого перенаправления. Когда мне нужно будет управлять вводом, тогда и буду решать такую задачу. Тем более - я, конечно, проверю, но сильно подозреваю, что для того, чтобы подать файл на стандартный ввод MySQL, его надо предварительно запустить, выполнить скрипт, а потом организовать из него выход. Что вряд ли получится сделать одной командой. Мне надо было понять, почему конкретно не выполняется моя командная строка - я понял. Большое спасибо всем, проблему считаю закрытой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2020, 17:57 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2037807]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 198ms |
| total: | 348ms |

| 0 / 0 |
