PickleBot Kontrol Paneli

Tier 1
💾 0MB / 50MB
🪙 500 Puan
Çevrimiçi
twitch_subscription_message">

Twitch Yenileme (Re-Sub)

Değişkenler: {user}, {months}, {message}, {tier}
twitch_subscription_gift">

Twitch Hediye Abonelik

Değişkenler: {user}, {count}
twitch_cheer">

Twitch Bits

Değişkenler: {user}, {amount}, {message}
channel.followed">

Yeni Takipçi

channel.subscription.new">

Yeni Abone

channel.subscription.renewal">

Abonelik Yenileme

channel.subscription.gifts">

Hediye Abonelik

kicks.gifted">

Kicks Bağışı

moderation.banned">

Kullanıcı Yasaklama

livestream.metadata.updated">

Yayın Bilgisi Güncelleme

🎨 Özel Dosyalar (Tier 3)

📊 Genel Bakış

Sistem Aktif

🎮 Aktif Oyunlar

Yükleniyor...

📈 Kullanım İstatistikleri

0MB / 50MB
500 Puan

🔧 Hızlı İşlemler

Değişkenler: {user}, {title}, {category}, {url}
twitch_follow">

Twitch Takipçi

Değişkenler: {user}
twitch_subscription">

Twitch Abonelik

Değişkenler: {user}, {tier}
twitch_subscription_message">

Twitch Yenileme (Re-Sub)

Değişkenler: {user}, {months}, {message}, {tier}
twitch_subscription_gift">

Twitch Hediye Abonelik

Değişkenler: {user}, {count}
twitch_cheer">

Twitch Bits

Değişkenler: {user}, {amount}, {message}
channel.followed">

Yeni Takipçi

channel.subscription.new">

Yeni Abone

channel.subscription.renewal">

Abonelik Yenileme

channel.subscription.gifts">

Hediye Abonelik

kicks.gifted">

Kicks Bağışı

moderation.banned">

Kullanıcı Yasaklama

livestream.metadata.updated">

Yayın Bilgisi Güncelleme

🎨 Özel Dosyalar (Tier 3)

// ============================================ // INSTAGRAM STORY FONKSİYONLARI // ============================================ async function loadInstagramStatus() { try { const response = await fetch('/api/instagram/settings'); const data = await response.json(); if (data.success) { const config = data.data; // Instagram bağlantı durumu const instagramStatus = elements.instagramStatus; const statusDot = instagramStatus.querySelector('.dot'); const statusText = instagramStatus.querySelector('span'); if (config.connected) { instagramStatus.className = 'status-indicator status-online'; statusText.textContent = 'Bağlandı'; elements.connectInstagramBtn.textContent = '🔄 Yeniden Bağla'; elements.connectInstagramBtn.className = 'btn btn-warning'; } else { instagramStatus.className = 'status-indicator status-offline'; statusText.textContent = 'Bağlı değil'; elements.connectInstagramBtn.textContent = '🔗 Instagram Bağla'; elements.connectInstagramBtn.className = 'btn btn-success'; } // Template durumu const templateStatus = elements.instagramTemplateStatus; const templateDot = templateStatus.querySelector('.dot'); const templateText = templateStatus.querySelector('span'); if (config.has_template) { templateStatus.className = 'status-indicator status-online'; templateText.textContent = 'Hazır'; } else { templateStatus.className = 'status-indicator status-warning'; templateText.textContent = 'Şablon gerekli'; } } } catch (error) { console.error('Instagram durumu yüklenirken hata:', error); showInstagramStatus('Instagram durumu kontrol edilemedi', 'danger'); } } function connectInstagramOAuth() { // TEST MODU: Instagram OAuth devre dışı alert('Çok Yakında!'); return; /* TEST MODU KAPALI OLDUĞUNDA AÇILACAK KOD: // Instagram OAuth başlat window.location.href = '/api/auth/instagram'; */ } function openStoryDesigner() { // Story tasarım sayfasını yeni sekmede aç const designUrl = '/design.html'; window.open(designUrl, '_blank'); } async function testInstagramStory() { if (!confirm('Instagram story paylaşımı test edilsin mi? Bu gerçek bir story paylaşacaktır.')) { return; } showInstagramStatus('Story test ediliyor...', 'info'); try { const response = await fetch('/api/instagram/share-story', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ streamUrl: `https://twitch.tv/test-${Date.now()}` }) }); const result = await response.json(); if (result.success) { showInstagramStatus('✅ Test başarılı! Instagram story paylaşıldı.', 'success'); } else { showInstagramStatus(`❌ Test başarısız: ${result.message}`, 'danger'); } } catch (error) { console.error('Instagram test hatası:', error); showInstagramStatus('❌ Test sırasında hata oluştu: ' + error.message, 'danger'); } } function openInstagramGuide() { // Kurulum kılavuzunu göster const guideContent = ` # Instagram Story Entegrasyonu Kurulum Kılavuzu ## 1. Meta Developer Hesabı Oluşturun - https://developers.facebook.com/ adresine gidin - Yeni uygulama oluşturun (Business type) - Instagram Business hesabınızla bağlayın ## 2. Gerekli İzinler Aşağıdaki izinleri etkinleştirin: - \`instagram_basic\` - Temel Instagram erişimi - \`instagram_content_publish\` - İçerik yayınlama - \`pages_read_engagement\` - Sayfa etkileşimi - \`pages_show_list\` - Sayfa listesi ## 3. Access Token Alın - Developer Console'dan uzun süreli token alın - Token'ı .env dosyasına ekleyin: \`\`\` INSTAGRAM_ACCESS_TOKEN=your_token_here INSTAGRAM_ACCOUNT_ID=your_account_id_here \`\`\` ## 4. Story Tasarlayın - "Story Tasarla" butonuna tıklayın - Görsel yükleyin ve yayın linkinizi ekleyin - Şablonu kaydedin ## 5. Otomatik Paylaşım Yayın başladığında story otomatik paylaşılır! Daha detaylı bilgi için: \`instagram_integration_guide.md\` `; // Modal veya alert ile göster alert(guideContent); } function showInstagramStatus(message, type) { const statusMsg = elements.instagramStatusMsg; statusMsg.textContent = message; statusMsg.className = `upload-status alert-${type}`; statusMsg.style.display = 'block'; setTimeout(() => { statusMsg.style.display = 'none'; }, 5000); } function checkInstagramOAuthResult() { const urlParams = new URLSearchParams(window.location.search); // Instagram OAuth success if (urlParams.has('instagram_success')) { showInstagramStatus('✅ Instagram hesabı başarıyla bağlandı!', 'success'); // URL'den parametreyi temizle const newUrl = window.location.pathname; window.history.replaceState({}, document.title, newUrl); // Instagram durumunu yeniden yükle setTimeout(() => loadInstagramStatus(), 1000); } // Instagram OAuth error if (urlParams.has('instagram_error')) { const errorMsg = decodeURIComponent(urlParams.get('instagram_error')); showInstagramStatus(`❌ Instagram bağlantı hatası: ${errorMsg}`, 'danger'); // URL'den parametreyi temizle const newUrl = window.location.pathname; window.history.replaceState({}, document.title, newUrl); } } // Sayfa yüklendiğinde Instagram durumunu kontrol et document.addEventListener('DOMContentLoaded', () => { // ... mevcut kod ... loadInstagramStatus(); });