Foydalanuvchi commited on
Commit
67eed4e
Β·
1 Parent(s): 54844e5

Phase 15: Admin button added to main menu inline keyboard

Browse files
Files changed (1) hide show
  1. main.py +16 -7
main.py CHANGED
@@ -135,8 +135,8 @@ async def cleanup_old_files():
135
 
136
  # --- UI Helpers ---
137
 
138
- def get_main_menu_keyboard():
139
- """Asosiy menyu tugmalari."""
140
  keyboard = [
141
  [
142
  InlineKeyboardButton("πŸ“œ Tarix", callback_data="nav|history"),
@@ -146,6 +146,11 @@ def get_main_menu_keyboard():
146
  InlineKeyboardButton("ℹ️ Yordam", callback_data="nav|help")
147
  ]
148
  ]
 
 
 
 
 
149
  return InlineKeyboardMarkup(keyboard)
150
 
151
  async def show_main_menu(update_or_query, context):
@@ -157,9 +162,11 @@ async def show_main_menu(update_or_query, context):
157
  )
158
 
159
  if isinstance(update_or_query, Update):
160
- await update_or_query.message.reply_text(text, reply_markup=get_main_menu_keyboard(), parse_mode=constants.ParseMode.MARKDOWN)
 
161
  else:
162
- await update_or_query.edit_message_text(text, reply_markup=get_main_menu_keyboard(), parse_mode=constants.ParseMode.MARKDOWN)
 
163
 
164
  # --- Handlers ---
165
 
@@ -449,14 +456,16 @@ async def handle_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):
449
  await query.edit_message_text("πŸ“ **Xabar tarqatish rejimi**\n\nBarcha foydalanuvchilarga yubormoqchi bo'lgan matningizni kiriting:",
450
  reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton("❌ Bekor qilish", callback_data="admin_back")]]))
451
 
452
- elif query.data == "admin_back":
453
  BROADCAST_MODE[ADMIN_ID] = False
454
  keyboard = [
455
  [InlineKeyboardButton("πŸ“Š Statistika", callback_data="admin_stats"),
456
  InlineKeyboardButton("πŸ“‚ Bazani yuklab olish", callback_data="admin_db")],
457
- [InlineKeyboardButton("πŸ“’ Xabar tarqatish", callback_data="admin_broadcast")]
 
458
  ]
459
- await query.edit_message_text("πŸ‘‘ **Admin Panel**", reply_markup=InlineKeyboardMarkup(keyboard), parse_mode=constants.ParseMode.MARKDOWN)
 
460
  return
461
 
462
  # [Avvalgi button_handler mantiqi davom etadi...]
 
135
 
136
  # --- UI Helpers ---
137
 
138
+ def get_main_menu_keyboard(user_id=None):
139
+ """Asosiy menyu tugmalari. Admin uchun qo'shimcha tugma qo'shiladi."""
140
  keyboard = [
141
  [
142
  InlineKeyboardButton("πŸ“œ Tarix", callback_data="nav|history"),
 
146
  InlineKeyboardButton("ℹ️ Yordam", callback_data="nav|help")
147
  ]
148
  ]
149
+
150
+ # Faqat admin uchun tugma
151
+ if user_id == ADMIN_ID:
152
+ keyboard.append([InlineKeyboardButton("πŸ‘‘ Admin Panel", callback_data="admin_main")])
153
+
154
  return InlineKeyboardMarkup(keyboard)
155
 
156
  async def show_main_menu(update_or_query, context):
 
162
  )
163
 
164
  if isinstance(update_or_query, Update):
165
+ user_id = update_or_query.effective_user.id
166
+ await update_or_query.message.reply_text(text, reply_markup=get_main_menu_keyboard(user_id), parse_mode=constants.ParseMode.MARKDOWN)
167
  else:
168
+ user_id = update_or_query.from_user.id
169
+ await update_or_query.edit_message_text(text, reply_markup=get_main_menu_keyboard(user_id), parse_mode=constants.ParseMode.MARKDOWN)
170
 
171
  # --- Handlers ---
172
 
 
456
  await query.edit_message_text("πŸ“ **Xabar tarqatish rejimi**\n\nBarcha foydalanuvchilarga yubormoqchi bo'lgan matningizni kiriting:",
457
  reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton("❌ Bekor qilish", callback_data="admin_back")]]))
458
 
459
+ elif query.data == "admin_back" or query.data == "admin_main":
460
  BROADCAST_MODE[ADMIN_ID] = False
461
  keyboard = [
462
  [InlineKeyboardButton("πŸ“Š Statistika", callback_data="admin_stats"),
463
  InlineKeyboardButton("πŸ“‚ Bazani yuklab olish", callback_data="admin_db")],
464
+ [InlineKeyboardButton("πŸ“’ Xabar tarqatish", callback_data="admin_broadcast")],
465
+ [InlineKeyboardButton("πŸ”™ Asosiy Menyu", callback_data="nav|main")]
466
  ]
467
+ await query.edit_message_text("πŸ‘‘ **Admin Panel**\n\nBo'limni tanlang:",
468
+ reply_markup=InlineKeyboardMarkup(keyboard), parse_mode=constants.ParseMode.MARKDOWN)
469
  return
470
 
471
  # [Avvalgi button_handler mantiqi davom etadi...]