Зикса MC: Правила пользования Telegram ботами
Правила Зикса MC 🧭
» Правила общения
» Правила членства
» Правила игры на сервере
» Правила использования модификаций
» Правила организаций
» Экономика сервера
» Правила создания и рассмотрения заявок
» Правила пользования Telegram ботами
» Обязанности и полномочия администрации
Официальные Telegram боты ZixaMC
» @zixamc_bot -> основной бот сервера.
» @zixamc_request_bot -> бот для подачи заявок на сервер (подробнее о боте).
Взаимодействие с ботом
Взаимодействовать с ботом (@zixamc_bot) могут только игроки сервера (тип аккаунта PLAYER и выше). При попытке взаимодействия с этим ботом пользователя, не являющегося игроком сервера, он будет перенаправлен на бот для подачи заявок (@zixamc_request_bot).
Для модерации использования бота людьми, намеренно не соблюдающими правила сервера, предусмотрены ограничения, вплоть до полного игнорирования пользователя ботами с последующим пожизненным внесением его в чёрный список сервера.
Боты сохраняют в наши базы данных следующую информацию о вас
- Уникальный ID пользователя, предоставляемый Telegram Bot API и используемый для идентификации пользователя в базе данных, а также для отправки сообщения в приватный чат (личные сообщения) и совершения иных действий с пользователем.
Помимо этих данных, база также хранит параметры:
- Тип аккаунта — статус пользователя на сервере (UNKNOWN, REQUESTER, PLAYER или ADMIN).
- Никнеймы — уникальные короткие имена пользователя, используемые для его идентификации (тип аккаунта REQUESTER и выше).
- Minecraft аккаунты — информация о игровых аккаунтах пользователя, включая никнейм и статус Minecraft аккаунта (admin, player, old, frozen или banned).
- Заявки — информация о всех заявках пользователя, включая никнейм и статус заявки (creating, moderating, pending, accepted, denied, rejected или canceled).
Меню игрока
Меню, предоставляющее игроку информацию о сервере (включая секретную), а также позволяющее игроку тем или иным способом взаимодействовать с сервером. Вызывается командой /menu.
- Информация о сервере — предоставление основной информации о сервере.
- Интеграция с AudioPlayer — загрузка своего аудио на сервер для его последующей записи на пластинку или козий рог. Обратите внимание, что на данные файлы также распространяются правила общения, так как это относится к "нарушению, сохранённому внутри игры" (см. правила игры на сервере).
- Интеграция с FabricTailor — загрузка и установка своего скина на сервер. Во время загрузки скина вы должны находиться на сервере. Обратите внимание, что на скины также распространяются правила общения, так как это относится к "нарушению, сохранённому внутри игры" (см. правила игры на сервере).
- Добавить в группу — быстрое добавление бота в группу.
- Экономика сервера — получить информацию о банке, сводку об эмиссии или создать свой банк (см. экономика сервера).
- Отозвать согласие с правилами — добровольно отказаться от согласия с настоящими правилами и покинуть сервер.
Авторизация на сервере
Авторизация игрока при входе на сервер происходит в несколько этапов:
- Проверка наличия никнейма в белом списке сервера.
- Проверка наличия никнейма в базе данных, сверка типа аккаунта и статуса Minecraft аккаунта.
- Авторизация на сервере с использованием пароля или подтверждение входа в Telegram.
Игроки могут проходить последний пункт авторизации в Telegram, для этого достаточно иметь диалог с ботом. Этот способ авторизации подразумевает подтверждение входа нажатием на кнопку "Это я", или аналогичное действие для запрета входа на сервер.
Добавление бота в группы
Бот для подачи заявок (@zixamc_request_bot) не поддерживает данную функцию.
Добавлять бота в группы могут только игроки. Бот может находиться в группе до тех пор, пока среди её членов есть хотя-бы один игрок.
Для работы бота в группе, её создатель должен согласиться с настоящими правилами. После подтверждения согласия с правилами сервера, на группу распространяются правила общения и настоящие правила использования нашего Telegram бота. Ведя диалог в такой группе, её члены обязуются соблюдать данные правила.
Бот может работать в группе только до тех пор, пока подтверждено согласие с правилами и среди членов группы есть хотя-бы один игрок.
Каждая группа выбирает себе уникальное короткое имя, используемое для доступа к её данным, сохранённым в наших базах данных. Группа может добавлять псевдонимы — дополнительные имена, которые могут использоваться также, как и основное имя. Длина имени: не более 16 символов. Допустимые символы: буквы русского и английского алфавита, цифры, знак "-" и нижнее подчёркивание.
Все параметры группы (сохранённые в наших базах данных) могут быть изменены в настройках. Для того, что бы открыть меню настроек, отправьте в соответствующей группе команду /settings.
Во всех группах ограничено использование меню игрока (команда /menu), в целях сохранения секретной информации о сервере в тайне.
Находясь в группе, бот сохраняет в наши базы данных следующую информацию
- Уникальный ID чата, используемый внутри Telegram для отправки сообщений и совершения прочих действий с группой.
- Уникальный ID пользователей — членов группы, используемый для их идентификации в базе данных пользователей ботов, а также для совершения иных действий с пользователем (удалить из группы, написать в личные сообщения).
Помимо этих данных, база также хранит параметры:
- Имя и псевдонимы — уникальные короткие имена группы, используемые для её идентификации.
- Функции — информация о всех функциях, активных в группе в данный момент.
Бот собирает данную информацию при каждом нажатии кнопки, отправке сообщения в чат или любых прочих активных действиях пользователя в группе. Это необходимо, так как Telegram Bot API не предоставляет методы для получения информации о всех членах группы сразу.
При отзыве согласия с правилами и последующем удалении бота из группы, из базы данных стирается вся информация о ней, за исключением уникального ID чата, имени и псевдонимов.
Функции бота
Функции бота позволяют настраивать синхронизацию группы с нашими базами данных и сервером на разных уровнях.
Каждая группа имеет уровень защищённости, который определяется наличием всех членов группы в базе данных, минимальным по своему уровню типом аккаунта (из нашей базы данных) членов группы, а также типом группы (открытая/закрытая). При появлении в группе пользователя, тип аккаунта которого ниже, чем минимальный (защищённый) у функции — функция будет удалена из группы вместе со всеми секретными сообщениями.
Вы можете добавить, удалить или изменить параметры функции в настройках группы (с помощью команды /settings).
- Синхронизация чата (Не защищена) — игроки, являющиеся членами этой группы, смогут видеть сообщения из этой группы в чате Minecraft сервера, а также смогут написать в группу из Minecraft, используя команду
/r(/reply). Взаимодействовать с группой из Minecraft смогут только те игроки, которые являются членами этой группы. Синтаксис команды:/r <уникальное_имя_группы> <сообщение>/r <уникальное_имя_группы> <id_сообщения_для_ответа> <сообщение> - Группа игроков (Не защищена) — если в группе включено ручное подтверждение заявок на вступление в группу, бот будет автоматически одобрять заявки от игроков. Также, при включении определённой настройки, бот будет автоматически удалять из группы пользователей, которые больше не являются игроками. Обратите внимание, что для работы этой функции, бот должен быть администратором в группе.
- Новости экономики (Не защищена) — вы будете получать уведомления о действиях банков на сервере, на пример учреждение нового банка, смена директора или эмиссия валюты и т.д. См. экономика сервера.
- Console (Защищена, тип аккаунта ADMIN) — просмотр сообщений из консоли сервера в Telegram, а также исполнение команд от имени сервера.
Техническое устройство
Оба бота реализованы как Minecraft Fabric моды и работают непосредственно на сервере. Ниже в общих чертах описана реализация связи между базой данных, Minecraft и Telegram
ZixaMC API
Фундамент для всей инфраструктуры, реализует базовый функционал связи и интерфейсы для её расширения модулями.
Модуль — дополнение для ZixaMC, расширяющий связь между базой данных, Minecraft и Telegram.
Реализует связь с серверами Telegram, базовые таблицы в базе данных (пользователи, группы, процессы и callback, последние две используются как временные хранилища для корректной работы бота) и базовый функционал бота (согласие с правилами, добавление в группы, меню и др.)
ZixaMC ChatSync
Добавляет синхронизацию чата Minecraft с топиками групп Telegram с включенной функцией "Синхронизация чата".
ZixaMC Requests
Реализует бота для подачи заявок и весь связанный с ним функционал.
ZixaMC Currency
Обеспечивает безопасность экономики сервера. Реализует таблицу банков в базе данных, соответствующий функционал бота для взаимодействия с ней, а также базовый контроль эмиссии валюты (подсчёт копий, запрет на копирование и др.)
ZixaMC Currency
Обеспечивает безопасность экономики сервера. Реализует таблицу банков в базе данных, соответствующий функционал бота для взаимодействия с ней, а также базовый контроль эмиссии валюты (подсчёт копий, запрет на копирование и др.)
ZixaMC FabricTailor Integration
Расширяет функционал меню игрока, добавляя возможность загружать скины на сервер.
ZixaMC AudioPlayer Integration
Расширяет функционал меню игрока, упрощая загрузку и запись аудио на пластинки и козьи рога.
ZixaMC EasyAuth Integration
Реализует авторизацию на сервере без пароля, подтверждая вход в Telegram.
ZixaMC Spark Integration
Автоматически перезапускает сервер при нехватке оперативной памяти, сохраняя при этом dump для анализа потребления.
ZixaMC Console Integration
Добавляет защищенную функцию "Console", предназначенную для отображения сообщений из консоли в Telegram группе администраторов.