Работа с базами

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

Регулярные выражения

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

Программы для работы

regex101.com

Самый простой вариант - это зайти на сайт regex101.com и вставить туда базу, с которой собираетесь работать:

Команду для поиска нужно будет вписывать в окошко сверху.

Другие программы

Для более удобной и продвинутой работы я рекомендую установить текстовый редактор с поддержкой regex себе на компьютер. Тогда вы сможете открывать файлы напрямую со своего компьютера и сразу сохранять нужный результат в другой файл. Например, подойдут редакторы Sublime Text или Notepad++.

Пробуем!

Загрузите любую обработанную базу в ваш редактор и напишите такую команду для поиска:

^\s*(\S+) Ok

Если у вас нет базы под рукой, а посмотреть хочется, то откройте этот пример.

Вы увидите, что редактор выделил все строчки с меткой Ok:

Таким же способом можно выделять строчки по любым правилам! Ниже мы рассмотрим несколько примеров, но ваши возможности безграничны.

Выгружаем выделенные строчки

Есил вы пользуетесь редактором, установленным на компьютер, то можете легко выделить все найденные строчки и скопировать их в другой файл.

Если вы используете сайт regex101.com, то после выделения нужны строчек вам нужно нажать сюда:

Затем выбрать формат "Простой текст" и нажать кнопку для копирования результата:

Чтобы выгружать строчки без меток, при экспорте результатов снимите галочку внизу окна:

Пользователи, которых не удалось заинвайтить

Если кого-то из вашей базы не удалось заинвайтить, то можно отправить им оффер в ЛС через модуль спамера. Чтобы выделить всех пользователей, которых не получилось заинвайтить, воспользуйтесь такой командой:

^\s*(\S+) CannotInvite

Необработанные строчки

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

^\s*\S+\s*$

Не найденные пользователи

А вот команда для выделения всех пользователей, которых софт найти не смог (это может случиться если пользователь сменил юзернейм, его забанили, указанный номер телефона не найден в телеграме и т.д.):

^\s*(\S+) NotFound

Строчки с различными метками

Если вас интересуют какие-то другие метки, то вы можете составить команду для поиска самостоятельно.

Вот шаблон для выделения всех строчек с определённой меткой:

^\s*(\S+) МЕТКА

Если меток несколько, то можно перечислить их через символ |

^\s*(\S+) МЕТКА1|МЕТКА2|МЕТКА3

Last updated