Как пользоваться языком запросов?
В игре есть специальный механизм, который помогает управлять кланом. Механизм умеет искать и сортировать игроков по разным признакам. Например, можно попросить бота найти всех новичков в клане (тех, кто еще не достиг 5-го перерождения) или узнать, кто из игроков был самым активным на этой неделе.
Чтобы использовать механику, нужно написать боту особым образом - на языке запросов. Запрос состоит из четырех частей (три из них - необязательные, их можно не указывать):
- "Выбрать" - здесь вы говорите боту, какую информацию об игроках вы хотите получить. Например, только их имена и профили в телеграме.
- "Где" - здесь вы задаете условия для поиска. Например, найти только тех, кто ниже 5-го уровня.
- "Сортировка" - здесь вы указываете, как отсортировать найденных игроков. Например, по уровню, от высокого к низкому.
- "После" - это особая команда, которая позволяет обрабатывать полученный список игроков. Например, с ее помощью можно посчитать общую силу всех найденных игроков.
Примеры использования
Найти топ-10 игроков по количеству убитых NPC на этой неделе:
Выбрать имя и ПЕРИОД(арена, 7) Сортировка ПЕРИОД(арена, 7) по убыванию
Найти всех игроков, которые не заходили в игру больше 7 дней:
Выбрать имя и время_актива Где ДНИ(время_актива) > 7
Найти всех игроков, которые пожертвовали в казну клана больше 1кк рё на этой неделе:
Выбрать имя и ПЕРИОД(казна, 7) Где ПЕРИОД(казна, 7) > 1кк
Получаем игроков ниже 5 перерождения
Выбрать id, имя и перерод Где перерод < 5 Сортировка перерод по убыванию
Данный запрос выдаст группу игроков из вашего клана, которые ниже 5 перерождения и выдаст только поля с id, именем и переродом.
Количество убитых NPC вашим кланом за месяц
Выбрать ПЕРИОД(арена, 31) После СУММА(арена)
Конструкция "После"
"После" - это особая команда, которая позволяет производить вычисления на основе полученных данных. С ее помощью можно обрабатывать результаты поиска и получать дополнительную информацию.
В этом разделе можно использовать специальные функции, которые работают со всеми найденными игроками сразу, а не с каждым по отдельности.
Доступные поля
- id (уникальный номер игрока)
- имя
- время_актива (когда игрок последний раз заходил в игру)
- перерод (уровень персонажа)
- общая_сила (общая сила игрока)
- username (имя игрока в Telegram)
Вместо указания полей, можно написать *, чтобы выделить все.
Функции
В запросах к боту можно использовать специальные функции. Они помогают получать дополнительную информацию и производить вычисления. Вот несколько примеров:
Эта функция позволяет узнать, сколько NPC убил игрок, сколько налогов заплатил или сколько денег пожертвовал в казну клана за определенный период.
- "арена" - для подсчета убитых NPC на арене
- "налог" - для подсчета уплаченных налогов
- "казна" - для подсчета пожертвований в казну клана
Период - за сколько дней нужно получить информацию (максимум - 31 день).
Выбрать ПЕРИОД(арена, 14), ПЕРИОД(налог, 7), ПЕРИОД(казна, 31)
Этот запрос вернет список игроков с информацией о количестве убитых монстров за 2 недели, уплаченных налогов за неделю и пожертвований в казну за месяц.
СУММА (функция для поля "После")
Эта функция позволяет посчитать сумму значений по указанному полю для всех найденных игроков.
Выбрать общая_сила, ПЕРИОД(npc, 31) Где перерод < 5 После СУММА(общая_сила) и СУММА(арена)
Возвращает одну строчку с двумя столбцами. В одном столбце будет количество общей силы новичков, в другом - количество их убийств.
Возвращает количество дней, прошедших от даты из аргумента к текущей дате.
Используя эти характеристики в запросах, можно легко находить нужных игроков и следить за их прогрессом в игре. Этот механизм - отличный помощник для любого главы клана!