Community-Endgame: Alpha-Keys, Bewerbungen, Events, Stats, Triggers, /remind, Social, Temp-Voice + MEE6-Bot-Karte
- Alpha-Keys: Pool im Community-Tab, Ein-Klick-Verteilung per DM an alle Playtester (Key bleibt frei, wenn die DM geblockt wird) - Bewerbungs-Formulare: Builder im neuen Bewerbungen-Tab (bis 5 Fragen), Button → Discord-Modal → Review-Embed mit ✅/❌, Rolle + DM bei Entscheidung - Events: GuildScheduledEventCreate → Announce-Embed; öffentliche /events-Seite aus den Discord-Events (5-min-Cache) - Server-Stats: activity_daily (Nachrichten/Joins/Leaves) → Balken-Chart auf /level - Triggers (Auto-Antworten, 30s-Cooldown), /remind (DM-Scheduler), Twitch-Live (Helix, App-Creds write-only) + YouTube-RSS-Announcements, Temp-Voice (Join to Create, Cleanup bei Leerstand + Start) - Brand-Tab: MEE6-Style Bot-Identity-Karte (Avatar-Vorschau mit Status-Dot, Bot-Name via setUsername, Presence online/idle/dnd, Aktivität) - Neue Intents: GuildVoiceStates, GuildScheduledEvents; alles smoke-getestet Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -93,6 +93,42 @@ export function botStatusType() {
|
||||
return getSetting('bot_status_type') || 'custom';
|
||||
}
|
||||
|
||||
/** Bot-Presence-Status: online | idle | dnd */
|
||||
export function botPresenceStatus() {
|
||||
return getSetting('bot_presence_status') || 'online';
|
||||
}
|
||||
|
||||
/** Ankündigungs-Kanal für neue Discord-Events — leer = aus */
|
||||
export function eventsAnnounceChannelId() {
|
||||
return getSetting('events_announce_channel_id') || null;
|
||||
}
|
||||
|
||||
/** Announce-Kanal für Twitch/YouTube — leer = aus */
|
||||
export function socialAnnounceChannelId() {
|
||||
return getSetting('social_announce_channel_id') || null;
|
||||
}
|
||||
|
||||
/** YouTube-Kanal-ID (UC…) für neue-Video-Benachrichtigungen */
|
||||
export function youtubeChannelId() {
|
||||
return getSetting('youtube_channel_id') || null;
|
||||
}
|
||||
|
||||
/** Twitch-Login-Name + App-Credentials (Client-Credentials-Flow) */
|
||||
export function twitchChannel() {
|
||||
return getSetting('twitch_channel') || null;
|
||||
}
|
||||
export function twitchClientId() {
|
||||
return getSetting('twitch_client_id') || null;
|
||||
}
|
||||
export function twitchClientSecret() {
|
||||
return getSetting('twitch_client_secret') || null;
|
||||
}
|
||||
|
||||
/** "Join to Create"-Voice-Kanal — leer = Temp-Voice aus */
|
||||
export function tempVoiceChannelId() {
|
||||
return getSetting('tempvoice_channel_id') || null;
|
||||
}
|
||||
|
||||
/** Auto-Rolle für neue Member — leer = aus */
|
||||
export function autoroleId() {
|
||||
return getSetting('autorole_id') || null;
|
||||
|
||||
Reference in New Issue
Block a user