$clientId,
'permissions' => '8',
'scope' => 'bot applications.commands',
], '', '&', PHP_QUERY_RFC3986);
$dashboardUrl = rtrim((string) $config['dashboard_url'], '/');
$loginUrl = $dashboardUrl . '/login';
$supportUrl = isset($config['support_url']) && $config['support_url'] !== ''
? (string) $config['support_url']
: null;
$guildCount = 0;
$userCount = 0;
$statsApi = (string) ($config['stats_api_url'] ?? '');
if ($statsApi !== '') {
$ctx = stream_context_create([
'http' => [
'timeout' => 3,
'header' => "Accept: application/json\r\n",
],
]);
$raw = @file_get_contents($statsApi, false, $ctx);
if ($raw !== false) {
$json = json_decode($raw, true);
if (is_array($json)) {
$guildCount = (int) ($json['guildCount'] ?? 0);
$userCount = (int) ($json['approximateUserCount'] ?? 0);
}
}
}
$year = (int) date('Y');
$groups = [
'moderation' => [
'label' => 'Moderation',
'modules' => [
['label' => 'Moderation', 'description' => 'Bans, Verwarnungen, Timeouts und das Fall-System'],
['label' => 'Auto-Moderation', 'description' => 'Spam-, Raid- und Nuke-Schutz'],
['label' => 'Logging', 'description' => 'Log-Kanäle für Server-Events'],
],
],
'engagement' => [
'label' => 'Engagement',
'modules' => [
['label' => 'Willkommen & Abschied', 'description' => 'Join- und Leave-Nachrichten, Autoroles'],
['label' => 'Verifizierung', 'description' => 'Button- und Captcha-Verifizierung'],
['label' => 'Leveling & XP', 'description' => 'Text- und Voice-XP, Rollen-Belohnungen'],
['label' => 'Economy', 'description' => 'Währung, Shop und Spiele'],
['label' => 'Fun & Spiele', 'description' => 'Minispiele und Medien-Commands'],
],
],
'community' => [
'label' => 'Community',
'modules' => [
['label' => 'Giveaways', 'description' => 'Button-basierte Giveaways'],
['label' => 'Tickets', 'description' => 'Support-Ticket-Panels und Transkripte'],
['label' => 'Self Roles', 'description' => 'Reaktions-, Button- und Dropdown-Rollenpanels'],
['label' => 'Starboard', 'description' => 'Beliebte Nachrichten hervorheben'],
['label' => 'Vorschläge', 'description' => 'Community-Vorschläge mit Abstimmung'],
['label' => 'Geburtstage', 'description' => 'Geburtstags-Ankündigungen und -Rollen'],
],
],
'utility' => [
'label' => 'Utility',
'modules' => [
['label' => 'Tags', 'description' => 'Custom Commands und Auto-Responder'],
['label' => 'Temp-Voice', 'description' => 'Join-to-Create Voice-Kanäle'],
],
],
'integrations' => [
'label' => 'Integrationen',
'modules' => [
['label' => 'Server-Statistiken', 'description' => 'Automatische Statistik-Kanäle und Invites'],
['label' => 'Social Feeds', 'description' => 'Twitch-, YouTube-, RSS- und Reddit-Benachrichtigungen'],
['label' => 'Scheduler', 'description' => 'Geplante und wiederkehrende Ankündigungen'],
['label' => 'Backups', 'description' => 'Server-Backup und -Wiederherstellung'],
],
],
];
function h(?string $value): string
{
return htmlspecialchars((string) $value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
}
?>
Nexumi
Nexumi
Discord-Bot mit Moderations-, Community- und Integrationsmodulen sowie Web-Dashboard.
Server
= h(number_format($guildCount, 0, ',', '.')) ?>
Nutzer (ca.)
= h(number_format($userCount, 0, ',', '.')) ?>
Module
Funktionen, die Nexumi pro Server bereitstellt.
= h($group['label']) ?>
= h($module['label']) ?>
= h($module['description']) ?>