import os
from django.conf import settings

# Discordbot Configuration
## Helper function

def _s(name:str, default=None, prefix:str="DISCORDBOT_"):
    return getattr(settings, prefix+name, os.getenv(prefix+name, default))

## Config

DEBUG = _s("DEBUG", False)

DOMAIN = _s("DOMAIN", None)

## Discordbot Config

ALLOW_BOTS = _s("ALLOW_BOTS", False)
ALLOW_WEBHOOKS = _s("ALLOW_WEBHOOKS", True)

ALL_PREFIXES = _s("ALL_PREFIXES", ["/", "!", "$", ".", "-", ">", "?"])
MAIN_PREFIXES = _s("MAIN_PREFIXES", ["/"])

EXTENSIONFOLDER = "discordbot.botcmds"
EXTENSIONS = _s("EXTENSIONS", ['basic','support','moderation','games','help','channels','music','owneronly','converters','embedgenerator','notifier', 'polls', 'domains'])

## Basic

INVITE_OWNER = _s("INVITE_OWNER", "https://go.rafaelurben.ch/discord")
INVITE_BOT = _s("INVITE_BOT", "https://go.rafaelurben.ch/discordbot")

SPAM_ALLOWED = _s("SPAM_ALLOWED", False)

## Help

HELP_HIDDEN_COGS = ["owneronly", "notifier"]

## Music

MUSIC_MODULE = _s("MUSIC_MODULE", False)

FILESPATH = _s("FILESPATH", os.path.join(os.path.dirname(os.path.realpath(__file__)), "botfiles"))
MEMESPATH = _s("MEMESPATH", os.path.join(FILESPATH, "memes"))
FFMPEGPATH = _s("FFMPEGPATH", os.path.join(FILESPATH, "ffmpeg.exe"))

FFMPEG_OPTIONS = {
    'options': '-vn',
    'executable': FFMPEGPATH,
}

FFMPEG_OPTIONS_STREAM = {
    'options': '-vn',
    'before_options': " -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5",
    'executable': FFMPEGPATH,
}

RADIOS = {
    "swisspop": "http://www.radioswisspop.ch/live/mp3.m3u",
    "nrjbern":  "https://energybern.ice.infomaniak.ch/energybern-high.mp3",
}

## Moderation

REGELN = {
    "1) Verhalten":
        [
            "Sei nett zu anderen Leuten und behandle sie so, wie auch du behandelt werden möchtest!",
            "Beleidige keine anderen Leute!",
            "Benutze anständige Sprache!",
            "Bleib beim Thema!",
        ],
    "2) Text":
        [
            "Spamming ist verboten!",
            "Werbung ohne Erlaubnis eines Administrators ist verboten!",
        ],
    "3) Ton":
        [
            "Benutze keinen Stimmverzerrer!",
            "Mache keine unnötigen Hintergrundgeräusche!",
            "Channel Hopping bitte unterlassen!",
            "Sprachaufnahmen sind nur mit Erlaubnis aller Teilnehmer gestattet!",
        ],
    "4) NSFW":
        [
            "Anstössige Inhalte ausserhalb NSFW-Kanälen werden sofort gelöscht und der Autor mit einem Bann/Mute bestraft!",
        ],
    "5) Sicherheit":
        [
            "Anweisungen von Moderatoren, Supportern und Admins müssen befolgt werden!",
            "Falls jemand ohne Grund nach deinen persönlichen Daten fragt, ignoriere bitte die Nachricht und meldet sie einem Admin oder dem Serverbesitzer! Bitte melde den Benutzer ebenfalls bei Discord!",
            "Sende nie jemandem euer Passwort!",
        ],
    "6) Empfehlungen":
        [
            "Habe Spass!",
        ],
}
