{{ t.appTitle }}
RU
EN
{{ t.rules }}
✕
{{ currentRulesText }}
📢 {{ t.ourChannel }}
{{ t.close }}
{{ t.addChannel }}
✕
1.
{{ t.addStep1 }}
2.
{{ t.addStep2 }}
3.
{{ t.addStep3 }}
🔗 {{ t.addBotButton }}
{{ t.addNote }}
{{ t.verifyChannel }}
✕
{{ t.verifyDesc }}
🔍 {{ t.verifyAction }}
➕
{{ t.addChannel }}
🔍 {{ t.verifyChannel }}
📋 {{ t.rules }}
📢 TG Channel
🛡️ {{ adminMode ? t.adminModeOn : t.adminModeOff }}
📢 Channels
👥 Users
⏳ Pending
{{ countPending }}
🛠️ Tools
⚙️ Globals
🔗 Check Working Link
Test
Operations
🔄 {{ verifying ? 'Verifying...' : 'Run Full Verification' }}
Broadcast
B
I
U
S
</>
PRE
Link
📷 {{ broadcastImage ? 'Change Image' : 'Attach Image' }}
{{ broadcastImage.name }}
✕
All Users
Admins Only
Me (Test)
{{ broadcasting ? 'Sending...' : 'Send Broadcast' }}
Database
📥 Get Backup
📤 Restore DB
Test Post
Send Post
Global Settings
{{ key }}
Save Globals
Edit Rules
Rules (RU)
Save RU
Rules (EN)
Save EN
{{ t.loading }}
📺
{{ t.noChannels }}
{{ t.noChannelsDesc }}
{{ adminMode ? t.allChannels : t.myChannels }}
{{ channels.length }}
e.target.style.display='none'">
{{ getInitials(ch.channel_title || ch.custom_name) }}
{{ getDisplayTitle(ch) }}
🔗
👥 {{ ch.subscribers_count }}
[{{ ch.tag }}]
{{ ch.custom_name || ch.channel_title }}
🏳️🌈
{{ t.status[ch.status] || ch.status }}
• {{ t.paused }}
⭐ VIP {{ getVipTimer(ch.vip_until) }}
❌ Expired
Added by:
{{ '@' + ch.owner_username }}
{{ ch.owner_id }}
▼
⏸️
{{ t.pausedDesc }}
{{ t.customName }}
{{ t.customNameHint }}
{{ t.tag }}
{{ t.category }}
SFW
NSFW (18+)
⏳ {{ t.pendingChange }}: {{ ch.pending_category.toUpperCase() }}
✕
{{ t.channelLink }}
🔄
{{ ch.linkError }}
{{ t.linkRefreshNote }}
⏳ {{ t.pendingChange }}: {{ ch.pending_channel_link }}
✕
{{ t.language }}
Русский
English
{{ t.postTime }} (UTC)
:
Status
Pending
Approved
Rejected
Banned
{{ t.pauseAds }}
{{ t.pauseAdsDesc }}
{{ t.showLgbt }}
{{ t.showLgbtDesc }}
{{ t.hasLgbt }}
{{ t.hasLgbtDesc }}
⏳ {{ t.pendingChange }}: {{ ch.pending_has_lgbtq_content ? t.yes : t.no }}
✕
{{ t.images }} ({{ (ch.photo_file_ids || []).length }}/5)
🎲 {{ t.random }}
➡️ {{ t.sequential }}
e.target.src='data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Crect fill=%22%232c2c2e%22 width=%22100%22 height=%22100%22/%3E%3Ctext x=%2250%22 y=%2255%22 text-anchor=%22middle%22 fill=%22%238e8e93%22 font-size=%2230%22%3E📷%3C/text%3E%3C/svg%3E'">
+
{{ t.cancel }}
{{ ch.saving ? t.saving : t.save }}
🚀 {{ t.submit }}
🗑️ {{ t.deleteChannel }}
{{ t.deleteConfirm }}
{{ t.cancel }}
{{ t.confirmDelete }}
VIP Status
Expires: {{ new Date(ch.vip_until).toLocaleString() }}
Set VIP
Cancel
Users
{{ users.length }}
No users found.
{{ getInitials(u.real_first_name || u.first_name || 'U') }}
{{ u.real_first_name || u.first_name || 'User' }}
@{{ u.real_username || u.username }}
ID: {{ u.user_id }}
⛔ BANNED
✅ Active
• {{ (u.channels || []).length }} channels
▼
User Channels ({{ u.channels.length }})
{{ uch.custom_name }}
⭐
{{ uch.channel_link || 'No link' }}
{{ uch.status }}
✏️ Edit
⛔ Ban User (Block all channels)
✅ Unban User
Pending Requests
{{ countPending }}
✅
All clear!
No pending requests
Channel Applications ({{ pendingApplications.length }})
e.target.style.display='none'">
{{ getInitials(ch.channel_title || ch.custom_name) }}
{{ getDisplayTitle(ch) }}
{{ ch.channel_link }}
Owner:
@{{ ch.owner_username }}
{{ ch.owner_id }}
👥 Subs: {{ ch.subscribers_count || '?' }}
❌ Reject
✅ Approve
Modification Requests ({{ pendingModifications.length }})
{{ getDisplayTitle(req.ch) }}
{{ req.ch.channel_link }}
Owner:
@{{ req.ch.owner_username }}
{{ req.ch.owner_id }}
Pending Change:
{{ req.label }}
Current
{{ req.oldVal }}
{{ req.oldVal }}
➜
New
{{ req.newVal }}
{{ req.newVal }}
👥 Subs: {{ req.ch.subscribers_count || '?' }} | ID: {{ req.ch.channel_id }}
❌ Reject
✅ Approve
✕
🗑️ {{ t.deleteImage || 'Delete' }}
Reject Request
Please provide a reason:
{{ t.cancel }}
Reject
{{ confirmModal.title }}
{{ confirmModal.message }}
{{ confirmModal.cancelText }}
{{ confirmModal.confirmText }}
{{ toast.msg }}