Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- async def genkey(update: Update, context: ContextTypes.DEFAULT_TYPE):
- global keys_data
- user_id = str(update.effective_user.id)
- if user_id == "5129223108":
- if len(context.args) < 2:
- await update.message.reply_text("Usage: /genkey <amount> <days>")
- return
- try:
- amount, days = int(context.args[0]), int(context.args[1])
- keys_data = await load_or_create_keys_data() # Load existing keys data
- key_list = []
- for _ in range(amount):
- random_string = ''.join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', k=20))
- random_string2 = ''.join(random.choices('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', k=20))
- key = f"test-{random_string}-{random_string2}"
- generated_date = datetime.now().strftime("%Y-%m-%d %H:%M:%S") # Current date
- expiry_date = (datetime.now() + timedelta(days=days)).strftime("%Y-%m-%d %H:%M:%S")
- keys_data[key] = {"days": days, "generated_date": generated_date, "expiry": expiry_date, "used": False}
- key_list.append(key)
- await save_keys_data(keys_data) # Save updated keys data
- await update.message.reply_text(f"🚀{amount} keys generated.🚀")
- if amount <= 10:
- # Send keys as a text file
- key_text = "\n".join(key_list)
- bio = BytesIO(key_text.encode("utf-8"))
- bio.name = f"{random_string}.txt"
- await update.message.reply_document(bio)
- await update.message.reply_text(key_text)
- else:
- # send keys as a file if the value is greater than 10
- await update.message.reply_text("⏳Sending keys as a file...⏳")
- key_text = "\n".join(key_list)
- bio = BytesIO(key_text.encode("utf-8"))
- bio.name = f"{random_string}.txt"
- await update.message.reply_document(bio, caption="✅keys successfully sent as a file.✅")
- except (ValueError, OverflowError, IndexError):
- await update.message.reply_text("Invalid input. Please provide valid numeric values for amount and days.")
- else:
- await update.message.reply_text("❗️ NOT ADMIN❗️")
Advertisement
Add Comment
Please, Sign In to add comment