Opera8 commited on
Commit
0d313c5
·
verified ·
1 Parent(s): 5a97264

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +24 -18
main.py CHANGED
@@ -16,25 +16,34 @@ app = Flask(__name__)
16
 
17
  @app.route('/')
18
  def home():
19
- return "ربات یکپارچه آلفا (نسخه تزریق مستقیم کیبورد پایین صفحه) روشن است! 🚀"
20
 
21
  def run_flask():
22
  app.run(host="0.0.0.0", port=7860)
23
 
24
 
25
  # --- ساختار کاملاً خالص کیبورد پایین صفحه (Chat Keypad) ---
 
26
  MAIN_KEYPAD_DICT = {
27
  "rows": [
28
  {
29
  "buttons": [
30
- {"id": "chat_btn", "type": "Simple", "button_text": "💬 چت"},
31
- {"id": "img_btn", "type": "Simple", "button_text": "🎨 عکس"}
32
  ]
33
  },
34
  {
35
  "buttons": [
36
- {"id": "tts_btn", "type": "Simple", "button_text": "🎙️ صدا"},
37
- {"id": "cancel_btn", "type": "Simple", "button_text": "❌ لغو"}
 
 
 
 
 
 
 
 
 
38
  ]
39
  }
40
  ],
@@ -48,7 +57,7 @@ async def send_with_keyboard(client, chat_id, text, use_keyboard=True):
48
  await client.send_message(chat_id, text)
49
  return
50
 
51
- # ارسال تهاجمی: دور زدن محدودیت‌های rubpy و تزریق مستقیم به سرور روبیکا!
52
  try:
53
  payload = {
54
  "chat_id": chat_id,
@@ -60,7 +69,7 @@ async def send_with_keyboard(client, chat_id, text, use_keyboard=True):
60
  return
61
  except Exception as raw_api_err:
62
  print(f"خطای تزریق مستقیم: {raw_api_err}")
63
- # تلاش دوم از طریق روش استاندارد کتابخانه (اگر متد خام کار نکرد)
64
  try:
65
  await client.send_message(chat_id, text, chat_keypad=MAIN_KEYPAD_DICT, chat_keypad_type="New")
66
  return
@@ -348,7 +357,7 @@ else:
348
  @bot.on_update(filters.private)
349
  async def main_handler(client, update):
350
  try:
351
- # استخراج متن پیام کاربر (حتی اگر کاربر روی دکمه کیبورد پایین کلیک کند، به صورت متن ارسال می‌شود)
352
  user_text = getattr(update, "text", "") or getattr(getattr(update, "message", None), "text", "") or getattr(getattr(update, "new_message", None), "text", "")
353
  user_text_str = str(user_text).strip() if user_text else ""
354
 
@@ -362,30 +371,27 @@ else:
362
  if chat_id not in user_states:
363
  user_states[chat_id] = {"mode": None, "text": ""}
364
 
365
- # مدیریت کامندهای لغو/شروع از دکمه‌ها یا چت
366
- if user_text_str in ["/start", "سلام", "لغو", "/cancel", "❌ لغو"]:
367
  user_states[chat_id] = {"mode": None, "text": ""}
368
  menu = (
369
  "سلام! به ربات هوشمند آلفا خوش آمدید 🤖\n\n"
370
- "لطفاً برای شروع، از کیبورد پایین یکی از بخش‌ها را انتخاب کنید:\n\n"
371
- "💬 چت با هوش مصنوعی\n"
372
- "🎨 طراحی عکس\n"
373
- "🎙️ تبدیل متن به صدا"
374
  )
375
  await send_with_keyboard(client, chat_id, menu, True)
376
  return
377
 
378
- if user_text_str in ["/chat", "💬 چت"]:
379
  user_states[chat_id] = {"mode": "chat", "text": ""}
380
  await send_with_keyboard(client, chat_id, "💬 شما وارد بخش **چت با هوش مصنوعی** شدید.\n\nهر سوالی دارید بفرستید تا جواب بدم:\n" + FOOTER_MENU, True)
381
  return
382
 
383
- if user_text_str in ["/image", "🎨 عکس"]:
384
  user_states[chat_id] = {"mode": "image_waiting_for_text", "text": ""}
385
  await send_with_keyboard(client, chat_id, "🎨 شما وارد بخش **ساخت عکس** شدید.\n\nلطفاً متنی که می‌خواهید به عکس تبدیل شود را توصیف کنید:\n" + FOOTER_MENU, True)
386
  return
387
 
388
- if user_text_str in ["/tts", "🎙️ صدا"]:
389
  user_states[chat_id] = {"mode": "tts_waiting_for_text", "text": ""}
390
  await send_with_keyboard(client, chat_id, "🎙️ شما وارد بخش **تبدیل متن به صدا** شدید.\n\nلطفاً متنی که می‌خواهید به صدا تبدیل شود را ارسال کنید (حداکثر 2500 کاراکتر):\n" + FOOTER_MENU, True)
391
  return
@@ -393,7 +399,7 @@ else:
393
  current_mode = user_states[chat_id].get("mode")
394
 
395
  if current_mode is None:
396
- await send_with_keyboard(client, chat_id, "⚠️ لطفاً ابتدا از کیبورد پایین صفحه، بخش مورد نظرتان را انتخاب کنید:" + FOOTER_MENU, True)
397
  return
398
 
399
  elif current_mode == "chat":
 
16
 
17
  @app.route('/')
18
  def home():
19
+ return "ربات یکپارچه آلفا (نسخه کیبورد تک‌ستونه) روشن است! 🚀"
20
 
21
  def run_flask():
22
  app.run(host="0.0.0.0", port=7860)
23
 
24
 
25
  # --- ساختار کاملاً خالص کیبورد پایین صفحه (Chat Keypad) ---
26
+ # هر دکمه در یک ردیف جداگانه قرار گرفت
27
  MAIN_KEYPAD_DICT = {
28
  "rows": [
29
  {
30
  "buttons": [
31
+ {"id": "chat_btn", "type": "Simple", "button_text": "چت با هوش مصنوعی 🤖"}
 
32
  ]
33
  },
34
  {
35
  "buttons": [
36
+ {"id": "img_btn", "type": "Simple", "button_text": "ساخت تصاویر با هوش مصنوعی🎨"}
37
+ ]
38
+ },
39
+ {
40
+ "buttons": [
41
+ {"id": "tts_btn", "type": "Simple", "button_text": "تبدیل متن به صدا با هوش مصنوعی🎙️"}
42
+ ]
43
+ },
44
+ {
45
+ "buttons": [
46
+ {"id": "cancel_btn", "type": "Simple", "button_text": "برگشت♻️"}
47
  ]
48
  }
49
  ],
 
57
  await client.send_message(chat_id, text)
58
  return
59
 
60
+ # ارسال تهاجمی: دور زدن محدودیت‌های rubpy و تزریق مستقیم به سرور روبیکا
61
  try:
62
  payload = {
63
  "chat_id": chat_id,
 
69
  return
70
  except Exception as raw_api_err:
71
  print(f"خطای تزریق مستقیم: {raw_api_err}")
72
+ # تلاش دوم از طریق روش استاندارد کتابخانه
73
  try:
74
  await client.send_message(chat_id, text, chat_keypad=MAIN_KEYPAD_DICT, chat_keypad_type="New")
75
  return
 
357
  @bot.on_update(filters.private)
358
  async def main_handler(client, update):
359
  try:
360
+ # استخراج متن پیام کاربر
361
  user_text = getattr(update, "text", "") or getattr(getattr(update, "message", None), "text", "") or getattr(getattr(update, "new_message", None), "text", "")
362
  user_text_str = str(user_text).strip() if user_text else ""
363
 
 
371
  if chat_id not in user_states:
372
  user_states[chat_id] = {"mode": None, "text": ""}
373
 
374
+ # مدیریت کامندهای لغو/شروع از دکمه‌ها یا چت با نام‌های جدید
375
+ if user_text_str in ["/start", "سلام", "لغو", "/cancel", "❌ لغو", "برگشت♻️"]:
376
  user_states[chat_id] = {"mode": None, "text": ""}
377
  menu = (
378
  "سلام! به ربات هوشمند آلفا خوش آمدید 🤖\n\n"
379
+ "لطفاً برای شروع، از کیبورد پایین یکی از بخش‌ها را انتخاب کنید:\n"
 
 
 
380
  )
381
  await send_with_keyboard(client, chat_id, menu, True)
382
  return
383
 
384
+ if user_text_str in ["/chat", "💬 چت", "چت با هوش مصنوعی 🤖"]:
385
  user_states[chat_id] = {"mode": "chat", "text": ""}
386
  await send_with_keyboard(client, chat_id, "💬 شما وارد بخش **چت با هوش مصنوعی** شدید.\n\nهر سوالی دارید بفرستید تا جواب بدم:\n" + FOOTER_MENU, True)
387
  return
388
 
389
+ if user_text_str in ["/image", "🎨 عکس", "ساخت تصاویر با هوش مصنوعی🎨"]:
390
  user_states[chat_id] = {"mode": "image_waiting_for_text", "text": ""}
391
  await send_with_keyboard(client, chat_id, "🎨 شما وارد بخش **ساخت عکس** شدید.\n\nلطفاً متنی که می‌خواهید به عکس تبدیل شود را توصیف کنید:\n" + FOOTER_MENU, True)
392
  return
393
 
394
+ if user_text_str in ["/tts", "🎙️ صدا", "تبدیل متن به صدا با هوش مصنوعی🎙️"]:
395
  user_states[chat_id] = {"mode": "tts_waiting_for_text", "text": ""}
396
  await send_with_keyboard(client, chat_id, "🎙️ شما وارد بخش **تبدیل متن به صدا** شدید.\n\nلطفاً متنی که می‌خواهید به صدا تبدیل شود را ارسال کنید (حداکثر 2500 کاراکتر):\n" + FOOTER_MENU, True)
397
  return
 
399
  current_mode = user_states[chat_id].get("mode")
400
 
401
  if current_mode is None:
402
+ await send_with_keyboard(client, chat_id, "⚠️ لطفاً ابتدا از کیبورد پایین، بخش مورد نظرتان را انتخاب کنید:" + FOOTER_MENU, True)
403
  return
404
 
405
  elif current_mode == "chat":