musicV2 / config.py
taslim19
fix: always use valid SUPPORT_CHAT url for inline buttons and config improvements
5ca2077
import re
from os import getenv
from dotenv import load_dotenv
from pyrogram import filters
load_dotenv()
def get_env_var(var_name, default=None, required=False):
value = getenv(var_name, default)
if required and value is None:
raise ValueError(f"Environment variable {var_name} is required but not set.")
return value
API_ID = int(get_env_var("API_ID", required=True))
API_HASH = get_env_var("API_HASH", required=True)
BOT_TOKEN = get_env_var("BOT_TOKEN", required=True)
BOT_ID = int(get_env_var("BOT_ID", "0"))
BOT_USERNAME = get_env_var("BOT_USERNAME", "")
OWNER = int(get_env_var("OWNER", "0"))
DEVINE_BOT = int(get_env_var("DEVINE_BOT", "0"))
MONGO_DB_URI = get_env_var("MONGO_DB_URI", required=True)
DURATION_LIMIT_MIN = int(get_env_var("DURATION_LIMIT", 60))
LOGGER_ID = int(get_env_var("LOGGER_ID", "0"))
LOG_CHANNEL_ID = int(get_env_var("LOG_CHANNEL_ID", "0"))
OWNER_ID = int(get_env_var("OWNER_ID", "0"))
SPECIAL_USER_ID = int(get_env_var("SPECIAL_USER_ID", "0"))
HEROKU_APP_NAME = get_env_var("HEROKU_APP_NAME", "")
HEROKU_API_KEY = get_env_var("HEROKU_API_KEY", "")
UPSTREAM_REPO = get_env_var("UPSTREAM_REPO", "")
UPSTREAM_BRANCH = get_env_var("UPSTREAM_BRANCH", "main")
GIT_TOKEN = get_env_var("GIT_TOKEN", "")
SUPPORT_CHANNEL = get_env_var("SUPPORT_CHANNEL", "https://t.me/dragbots")
SUPPORT_CHAT = get_env_var("SUPPORT_CHAT", "https://t.me/dragbotsupport")
AUTO_LEAVING_ASSISTANT = bool(get_env_var("AUTO_LEAVING_ASSISTANT", False))
SPOTIFY_CLIENT_ID = get_env_var("SPOTIFY_CLIENT_ID", "")
SPOTIFY_CLIENT_SECRET = get_env_var("SPOTIFY_CLIENT_SECRET", "")
PLAYLIST_FETCH_LIMIT = int(get_env_var("PLAYLIST_FETCH_LIMIT", 50))
TG_AUDIO_FILESIZE_LIMIT = int(get_env_var("TG_AUDIO_FILESIZE_LIMIT", 1073741824))
TG_VIDEO_FILESIZE_LIMIT = int(get_env_var("TG_VIDEO_FILESIZE_LIMIT", 1073741824))
STRING1 = get_env_var("STRING_SESSION", required=True)
STRING2 = get_env_var("STRING_SESSION2", None)
STRING3 = get_env_var("STRING_SESSION3", None)
STRING4 = get_env_var("STRING_SESSION4", None)
STRING5 = get_env_var("STRING_SESSION5", None)
BANNED_USERS = filters.user()
adminlist = {}
lyrical = {}
votemode = {}
autoclean = []
confirmer = {}
START_IMG_URL = getenv(
"START_IMG_URL", "https://telegra.ph//file/db4ac98cf05117a23561c.jpg"
)
PING_IMG_URL = getenv(
"PING_IMG_URL", "https://telegra.ph//file/8006562b937927f7f5d44.jpg"
)
PLAYLIST_IMG_URL = getenv("PLAYLIST_IMG_URL", "https://telegra.ph//file/38590cc5ed3f3c20c0bb2.jpg")
STATS_IMG_URL = getenv("STATS_IMG_URL", "https://telegra.ph//file/3673959668f6d4a9b0a7f.jpg")
TELEGRAM_AUDIO_URL = getenv("TELEGRAM_AUDIO_URL", "https://telegra.ph//file/ada746f1818a0df27dd07.jpg")
TELEGRAM_VIDEO_URL = getenv("TELEGRAM_VIDEO_URL", "https://telegra.ph//file/ef6fd57813e0436a49fd9.jpg")
STREAM_IMG_URL = getenv("STREAM_IMG_URL", "https://telegra.ph//file/db4ac98cf05117a23561c.jpg")
SOUNCLOUD_IMG_URL = getenv("SOUNCLOUD_IMG_URL", "https://telegra.ph//file/bf1f5fced5f679079a6f4.jpg")
YOUTUBE_IMG_URL = getenv("YOUTUBE_IMG_URL", "https://telegra.ph//file/bf1f5fced5f679079a6f4.jpg")
SPOTIFY_ARTIST_IMG_URL = getenv("SPOTIFY_ARTIST_IMG_URL", "https://telegra.ph//file/f5dba4886f4b88ef0bc7f.jpg")
SPOTIFY_ALBUM_IMG_URL = getenv("SPOTIFY_ALBUM_IMG_URL", "https://telegra.ph//file/010673cfe1de7a3950cca.jpg")
SPOTIFY_PLAYLIST_IMG_URL = getenv("SPOTIFY_PLAYLIST_IMG_URL", "https://telegra.ph//file/b4cb569d48c71674080ef.jpg")
STATUS_IMG_URL = getenv("STATUS_IMG_URL", "https://telegra.ph//file/1cc1cda34e5127dfb6466.jpg")
def time_to_seconds(time):
stringt = str(time)
return sum(int(x) * 60**i for i, x in enumerate(reversed(stringt.split(":"))))
DURATION_LIMIT = int(time_to_seconds(f"{DURATION_LIMIT_MIN}:00"))
# Auto-fix missing scheme
if SUPPORT_CHAT and not SUPPORT_CHAT.startswith(("http://", "https://")):
SUPPORT_CHAT = "https://" + SUPPORT_CHAT
if SUPPORT_CHANNEL and not SUPPORT_CHANNEL.startswith(("http://", "https://")):
SUPPORT_CHANNEL = "https://" + SUPPORT_CHANNEL
if SUPPORT_CHANNEL:
if not re.match("(?:http|https)://", SUPPORT_CHANNEL):
raise SystemExit("[ERROR] - Your SUPPORT_CHANNEL url is wrong. Please ensure that it starts with https://")
if SUPPORT_CHAT:
if not re.match("(?:http|https)://", SUPPORT_CHAT):
raise SystemExit("[ERROR] - Your SUPPORT_CHAT url is wrong. Please ensure that it starts with https://")