April 3

Как пользоваться языком запросов? 

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

Чтобы использовать механику, нужно написать боту особым образом - на языке запросов. Запрос состоит из четырех частей (три из них - необязательные, их можно не указывать):

  1. "Выбрать" - здесь вы говорите боту, какую информацию об игроках вы хотите получить. Например, только их имена и профили в телеграме.
  2. "Где" - здесь вы задаете условия для поиска. Например, найти только тех, кто ниже 5-го уровня.
  3. "Сортировка" - здесь вы указываете, как отсортировать найденных игроков. Например, по уровню, от высокого к низкому.
  4. "После" - это особая команда, которая позволяет обрабатывать полученный список игроков. Например, с ее помощью можно посчитать общую силу всех найденных игроков.

Примеры использования

Найти топ-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
После СУММА(общая_сила) и СУММА(арена)

Возвращает одну строчку с двумя столбцами. В одном столбце будет количество общей силы новичков, в другом - количество их убийств.

ДНИ()

Возвращает количество дней, прошедших от даты из аргумента к текущей дате.

Используя эти характеристики в запросах, можно легко находить нужных игроков и следить за их прогрессом в игре. Этот механизм - отличный помощник для любого главы клана!