U
    "g~                     @   sJ   d dl Z d dlZd dlZd dlZd dlZd dlmZmZ G dd dZdS )    N)quote	urlencodec                   @   s8   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d ZdS )	AdManagerzE
    Kelas untuk mengelola berbagai platform iklan dan shortlink
    c              
   C   s   || _ d|ddt|dddd|ddt|dddd|ddt|dddd	|d
dt|d
ddd| _dd | j D | _| jstd dS )z
        Inisialisasi AdManager dengan konfigurasi
        
        Args:
            config (dict): Konfigurasi untuk platform iklan
        zhttps://gplinks.in/apiGPLINKS_API_KEY )api_urlapi_keyenabledzhttps://ez4short.com/apiEZ4SHORT_API_KEYzhttps://droplink.co/apiDROPLINK_API_KEYzhttps://tnlink.in/apiTNLINK_API_KEY)gplinksez4shortdroplinktnlinkc                 S   s   g | ]\}}|d  r|qS )r	    ).0kvr   r   /var/www/html/bot/ad_manager.py
<listcomp>0   s      z&AdManager.__init__.<locals>.<listcomp>zTPeringatan: Tidak ada platform shortlink yang dikonfigurasi. Menggunakan mode dummy.N)configgetboolshortlink_apisitemsenabled_platformsprint)selfr   r   r   r   __init__   s*    



zAdManager.__init__c                 C   s   | j s
dS t| j S )z
        Mendapatkan platform shortlink secara acak dari daftar yang diaktifkan
        
        Returns:
            str: Nama platform shortlink
        N)r   randomchoice)r   r   r   r   get_random_platform6   s    zAdManager.get_random_platformc           
   
   C   s<  |   }|sd|dddS z| j| }|d }|d }||d}tj||dd	}|jd
kr| }|dkr|ddkrd|d|ddW S dd||dddW S n>|dkrd|krd|d|ddW S dd||dddW S dd|d|j dW S  tk
r6 }	 zdd|t|	d W Y S d}	~	X Y nX dS )a  
        Membuat shortlink dari URL menggunakan platform yang tersedia
        
        Args:
            url (str): URL yang akan dipersingkat
            
        Returns:
            dict: Hasil pembuatan shortlink dengan format:
                {
                    'success': bool,
                    'shortlink': str,
                    'platform': str,
                    'error': str (jika ada)
                }
        TZdirectN)success	shortlinkplatformerrorr   r   )apiurl   )paramstimeout   r   statusr#   ZshortenedUrlFmessagezUnknown error)r   r   r   zError: HTTP )r"   r   requestsr   status_codejson	Exceptionstr)
r   r(   r%   Z
api_configr   r   r*   responsedataer   r   r   create_shortlinkA   sh    




	
zAdManager.create_shortlinkc                 C   s   dddddg}t |S )ze
        Mendapatkan pesan iklan acak
        
        Returns:
            str: Pesan iklan
        uc   🔥 Dapatkan penghasilan dengan mempersingkat link Anda sendiri! Daftar di platform kami sekarang.uV   💰 Hasilkan uang dari link Anda! Kunjungi website kami untuk informasi lebih lanjut.u`   ⚡ Persingkat link, dapatkan uang! Bergabunglah dengan ribuan pengguna yang sudah menghasilkan.uC   💸 Monetisasi traffic Anda dengan layanan shortlink premium kami.uP   🚀 Tingkatkan penghasilan Anda dengan setiap klik pada link yang dipersingkat!)r    r!   )r   Zad_messagesr   r   r   get_ad_message   s    zAdManager.get_ad_messagec                 C   s"   | j s
dS d| j }d| dS )z}
        Mendapatkan footer iklan untuk ditambahkan ke pesan
        
        Returns:
            str: Footer iklan
        r   z, u%   

💎 Link dipersingkat menggunakan u    💎)r   join)r   Zplatform_namesr   r   r   get_ad_footer   s    zAdManager.get_ad_footerN)	__name__
__module____qualname____doc__r   r"   r7   r8   r:   r   r   r   r   r      s   &]r   )	rer/   r1   r    timeurllib.parser   r   r   r   r   r   r   <module>   s   