Guest User

Untitled

a guest
Jun 28th, 2024
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. async def genkey(update: Update, context: ContextTypes.DEFAULT_TYPE):
  2. global keys_data
  3. user_id = str(update.effective_user.id)
  4. if user_id == "5129223108":
  5. if len(context.args) < 2:
  6. await update.message.reply_text("Usage: /genkey <amount> <days>")
  7. return
  8.  
  9. try:
  10. amount, days = int(context.args[0]), int(context.args[1])
  11. keys_data = await load_or_create_keys_data() # Load existing keys data
  12.  
  13. key_list = []
  14. for _ in range(amount):
  15. random_string = ''.join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', k=20))
  16. random_string2 = ''.join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', k=20))
  17. key = f"test-{random_string}-{random_string2}"
  18. generated_date = datetime.now().strftime("%Y-%m-%d %H:%M:%S") # Current date
  19. expiry_date = (datetime.now() + timedelta(days=days)).strftime("%Y-%m-%d %H:%M:%S")
  20. keys_data[key] = {"days": days, "generated_date": generated_date, "expiry": expiry_date, "used": False}
  21. key_list.append(key)
  22.  
  23. await save_keys_data(keys_data) # Save updated keys data
  24. await update.message.reply_text(f"🚀{amount} keys generated.🚀")
  25.  
  26. if amount <= 10:
  27. # Send keys as a text file
  28. key_text = "\n".join(key_list)
  29. bio = BytesIO(key_text.encode("utf-8"))
  30. bio.name = f"{random_string}.txt"
  31. await update.message.reply_document(bio)
  32. await update.message.reply_text(key_text)
  33. else:
  34. # send keys as a file if the value is greater than 10
  35. await update.message.reply_text("⏳Sending keys as a file...⏳")
  36. key_text = "\n".join(key_list)
  37. bio = BytesIO(key_text.encode("utf-8"))
  38. bio.name = f"{random_string}.txt"
  39. await update.message.reply_document(bio, caption="✅keys successfully sent as a file.✅")
  40.  
  41. except (ValueError, OverflowError, IndexError):
  42. await update.message.reply_text("Invalid input. Please provide valid numeric values for amount and days.")
  43. else:
  44. await update.message.reply_text("❗️ NOT ADMIN❗️")
Advertisement
Add Comment
Please, Sign In to add comment