💔 BANedetta v3 - Пора банить нарушителей прилюдно!

:kitchen_knife: Пора банить нарушителей прилюдно!

:memo: Описание

Этот проект значительно повысит доверие к команде “бан” среди обычных игроков. Теперь им нужно будет предоставить доказательства того, что бан был справедливым :magnifying_glass_tilted_left: (в противном случае, обвинитель может быть забанен сам! :laughing:).

Когда игрок банит нарушителя :prohibited:, ему дается определённое время на предоставление доказательств нарушения. Затем модераторы подключаются, чтобы подтвердить или отклонить бан на той же платформе.

За помощь в поддержании порядка игрок может получить заслуженную награду :sports_medal:.

:high_voltage: Команды

Команды Пермишен Описание
/bban <игрок: str> <причина: str> banedetta.ban Заблокировать игрока. Посты не будут созданы если бан был от консоли, админа или оператора.
/unban <игрок: str> banedetta.unban Разблокировать игрока, с удалением всех постов.

:laptop: Платформы

Из коробки предоставлены плагины для интеграции с VK и Telegram, но также плагин позволяет создавать собственные интеграционные модули для других платформ.

:loudspeaker: Разница между v2

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

:hammer_and_wrench: Для разработчиков

Вы можете создать собственный плагин для интеграции с платформой, расширив класс PostPlugin.php.

<?php

namespace Example\Plugin;

use Taskov1ch\BANedetta\BANedetta;
use Taskov1ch\BANedetta\posts\PostPlugin;

class CustomPlatform extends PostPlugin // PostPlugin расширяет PluginBase
{
	public function onEnable(): void
	{
		BANedetta::getInstance()->getPostsManager()->registerPostPlugin($this); // Регистрируем этот плагин в системе BANedetta
	}

	public function onRegistered(): void
	{
		// Этот метод вызывается после успешной регистрации плагина в системе BANedetta
	}

	public function getDatabaseQueriesMap(): array
	{
		return [
			"mysql" => "path/to/mysql.sql",
			"sqlite" => "path/to/sqlite.sql"
		]; // Возвращает карту SQL-запросов (путь относительно директории ресурсов плагина, как в libasynql, при регистрации класса для DataConnector)
	}

	public function createPost(string $banned, string $by, string $reason, int $timeLimit): void
	{
		// Этот метод вызывается, когда игрок забанен и нужно создать посты.
		// Логика создания постов здесь
	}

	public function removePost(string $banned): void
	{
		// Этот метод вызывается, когда игрок разбанен и нужно удалить ложные посты.
		// Логика удаления постов здесь
	}

	public function confirmed(string $banned): void
	{
		// Этот метод вызывается, когда модератор подтвердил бан на одной из платформ, нужно обновить посты.
		// Логика обновления поста на "Подтверждено" здесь
	}

	public function notConfirmed(string $banned): void
	{
		// Этот метод вызывается, когда модератор отклонил бан на одной из платформ, нужно обновить посты.
		// Логика обновления поста на "Не подтверждено" здесь
	}

}

:warning: Внимание!

Если вы нашли баг, недочёт или что-то похуже, пожалуйста, сообщите об этом в ISSUES. Это не займёт много времени, а я быстро всё исправлю :slight_smile:

:framed_picture: Скриншоты с модулей (плагинов) VK и TG

:inbox_tray: Плагин

Github

PHAR

BANedetta v2

3 лайка

уже 3 версия… Кстати мне кажется или ты единственный кто свои плагины улучшает и дорабатывает (ну на опенсурсах)

@MEFRREEX в сторонке: да, я никто и звать меня никак. Только он раз в полгода может что то свое обновить в опенсурсе)

1 лайк

Да кстати feat: 3.0.0 update by MEFRREEX · Pull Request #11 · MEFRREEX/FormConstructor · GitHub

посмотрел я на твои контрибуты… ебaть ты машина

2 лайка

на самом деле завидую ему, время куча видимо для таких дел)

Ну кто не работает у того времени много под такие вещи

Братик делает вещи :flexed_biceps:

Unemployment final boss (тоже завидую)

Ну вы еще фан клуб сделайте

Открываю клуб фанатов @MEFRREEX, кто хочет присоединиться?

Да при чем здесь фан клуб и тот факт, что у человека чуть больше времени чем у меня?

Оо круто!!

Думаю тега будет достаточно