diff --git a/config.py b/config.py index 46fc85f60..840c1d101 100644 --- a/config.py +++ b/config.py @@ -13,17 +13,17 @@ # write here yt cookies """ -API_ID = int(getenv("API_ID", "")) -API_HASH = getenv("API_HASH", "") +API_ID = int(getenv("API_ID", "24890303")) +API_HASH = getenv("API_HASH", "94cf78d1e6883ecb10f32e31fc23cfe0") BOT_TOKEN = getenv("BOT_TOKEN", "") -OWNER_ID = list(map(int, getenv("OWNER_ID", "").split())) +OWNER_ID = list(map(int, getenv("OWNER_ID", "7289855833").split())) MONGO_DB = getenv("MONGO_DB", "") -LOG_GROUP = getenv("LOG_GROUP", "") -CHANNEL_ID = int(getenv("CHANNEL_ID", "")) -FREEMIUM_LIMIT = int(getenv("FREEMIUM_LIMIT", "0")) +LOG_GROUP = getenv("LOG_GROUP", "-1002670671084") +CHANNEL_ID = int(getenv("CHANNEL_ID", "-1002705791364")) +FREEMIUM_LIMIT = int(getenv("FREEMIUM_LIMIT", "3")) PREMIUM_LIMIT = int(getenv("PREMIUM_LIMIT", "500")) -WEBSITE_URL = getenv("WEBSITE_URL", "upshrink.com") -AD_API = getenv("AD_API", "52b4a2cf4687d81e7d3f8f2b7bc2943f618e78cb") +WEBSITE_URL = getenv("WEBSITE_URL", "shortxlinks.com") +AD_API = getenv("AD_API", "1ab8f9226671c3ea4da75be8c6f6ac012e0a9a09") STRING = getenv("STRING", None) YT_COOKIES = getenv("YT_COOKIES", YTUB_COOKIES) DEFAULT_SESSION = getenv("DEFAUL_SESSION", None) # added old method of invite link joining diff --git a/devgagan/core/func.py b/devgagan/core/func.py index 2ef512ac6..d2d9a2f19 100644 --- a/devgagan/core/func.py +++ b/devgagan/core/func.py @@ -250,7 +250,7 @@ async def progress_callback(current, total, progress_message): f"│ **__Progress:__** {percent:.2f}%\n" f"│ **__Uploaded:__** {current_mb:.2f} MB / {total_mb:.2f} MB\n" f"╰──────────────────╯\n\n" - f"**__Powered by Team SPY__**" + f"**__Powered by SmartKit Bots__**" ) last_update_time = current_time diff --git a/devgagan/core/get_func.py b/devgagan/core/get_func.py index b11d59fa8..1b6873370 100644 --- a/devgagan/core/get_func.py +++ b/devgagan/core/get_func.py @@ -209,7 +209,7 @@ async def get_msg(userbot, sender, edit_id, msg_link, i, message): if chat in saved_channel_ids: await app.edit_message_text( message.chat.id, edit_id, - "Sorry! This channel is protected by **__Team SPY__**." + "Sorry! This channel is protected by **__SmartKit__**." ) return @@ -589,7 +589,7 @@ def load_user_session(user_id): async def set_rename_command(user_id, custom_rename_tag): user_rename_preferences[str(user_id)] = custom_rename_tag -get_user_rename_preference = lambda user_id: user_rename_preferences.get(str(user_id), 'Team SPY') +get_user_rename_preference = lambda user_id: user_rename_preferences.get(str(user_id), 'SmartKit Bots') async def set_caption_command(user_id, custom_caption): user_caption_preferences[str(user_id)] = custom_caption @@ -619,7 +619,7 @@ async def send_settings_message(chat_id, user_id): [Button.inline("Set Thumbnail", b'setthumb'), Button.inline("Remove Thumbnail", b'remthumb')], [Button.inline("PDF Wtmrk", b'pdfwt'), Button.inline("Video Wtmrk", b'watermark')], [Button.inline("Upload Method", b'uploadmethod')], # Include the dynamic Fast DL button - [Button.url("Report Errors", "https://t.me/team_spy_pro")] + [Button.url("Report Errors", "https://t.me/smartkitbots")] ] await gf.send_file( @@ -899,7 +899,7 @@ async def handle_large_file(file, sender, edit, caption): if freecheck == 1: reply_markup = InlineKeyboardMarkup( [ - [InlineKeyboardButton("💎 Get Premium to Forward", url="https://t.me/kingofpatal")] + [InlineKeyboardButton("💎 Get Premium to Forward", url="https://t.me/NkkwkslBot")] ] ) await app.copy_message( @@ -1032,7 +1032,7 @@ def progress_callback(done, total, user_id): f"│ **__Speed:__** {speed_mbps:.2f} Mbps\n" f"│ **__ETA:__** {remaining_time_min:.2f} min\n" f"╰──────────────────╯\n\n" - f"**__Powered by Team SPY__**" + f"**__Powered by SmartKit Bots__**" ) # Update tracking variables for the user @@ -1095,7 +1095,7 @@ def dl_progress_callback(done, total, user_id): f"│ **__Speed:__** {speed_mbps:.2f} Mbps\n" f"│ **__ETA:__** {remaining_time_min:.2f} min\n" f"╰──────────────────╯\n\n" - f"**__Powered by Team SPY__**" + f"**__Powered by SmartKit Bots__**" ) # Update tracking variables for the user diff --git a/devgagan/modules/main.py b/devgagan/modules/main.py index 8cb0db341..990697147 100644 --- a/devgagan/modules/main.py +++ b/devgagan/modules/main.py @@ -227,11 +227,11 @@ async def batch_link(_, message): await message.reply(response_message) return - join_button = InlineKeyboardButton("Join Channel", url="https://t.me/team_spy_pro") + join_button = InlineKeyboardButton("Join SmartKit Bots", url="https://t.me/SmartKitBots") keyboard = InlineKeyboardMarkup([[join_button]]) pin_msg = await app.send_message( user_id, - f"Batch process started ⚡\nProcessing: 0/{cl}\n\n**Powered by Team SPY**", + f"Batch process started ⚡\nProcessing: 0/{cl}\n\n**Powered by SmartKit Bots**", reply_markup=keyboard ) await pin_msg.pin(both_sides=True) @@ -250,14 +250,14 @@ async def batch_link(_, message): msg = await app.send_message(message.chat.id, f"Processing...") await process_and_upload_link(userbot, user_id, msg.id, link, 0, message) await pin_msg.edit_text( - f"Batch process started ⚡\nProcessing: {i - cs + 1}/{cl}\n\n**__Powered by Team SPY__**", + f"Batch process started ⚡\nProcessing: {i - cs + 1}/{cl}\n\n**__Powered by SmartKit Bots__**", reply_markup=keyboard ) normal_links_handled = True if normal_links_handled: await set_interval(user_id, interval_minutes=300) await pin_msg.edit_text( - f"Batch completed successfully for {cl} messages 🎉\n\n**__Powered by Team SPY__**", + f"Batch completed successfully for {cl} messages 🎉\n\n**__Powered by SmartKit Bots__**", reply_markup=keyboard ) await app.send_message(message.chat.id, "Batch completed successfully! 🎉") @@ -276,13 +276,13 @@ async def batch_link(_, message): msg = await app.send_message(message.chat.id, f"Processing...") await process_and_upload_link(userbot, user_id, msg.id, link, 0, message) await pin_msg.edit_text( - f"Batch process started ⚡\nProcessing: {i - cs + 1}/{cl}\n\n**__Powered by Team SPY__**", + f"Batch process started ⚡\nProcessing: {i - cs + 1}/{cl}\n\n**__Powered by SmartKit Bots__**", reply_markup=keyboard ) await set_interval(user_id, interval_minutes=300) await pin_msg.edit_text( - f"Batch completed successfully for {cl} messages 🎉\n\n**__Powered by Team SPY__**", + f"Batch completed successfully for {cl} messages 🎉\n\n**__Powered by SmartKit Bots__**", reply_markup=keyboard ) await app.send_message(message.chat.id, "Batch completed successfully! 🎉") diff --git a/devgagan/modules/plans.py b/devgagan/modules/plans.py index 4affc63b4..4c594eb18 100644 --- a/devgagan/modules/plans.py +++ b/devgagan/modules/plans.py @@ -114,7 +114,7 @@ async def give_premium_cmd_handler(client, message): data = await plans_db.check_premium(user_id) expiry = data.get("expire_date") expiry_str_in_ist = expiry.astimezone(pytz.timezone("Asia/Kolkata")).strftime("%d-%m-%Y\n⏱️ ᴇxᴘɪʀʏ ᴛɪᴍᴇ : %I:%M:%S %p") - await message.reply_text(f"ᴘʀᴇᴍɪᴜᴍ ᴀᴅᴅᴇᴅ ꜱᴜᴄᴄᴇꜱꜱꜰᴜʟʟʏ ✅\n\n👤 ᴜꜱᴇʀ : {user.mention}\n⚡ ᴜꜱᴇʀ ɪᴅ : {user_id}\n⏰ ᴘʀᴇᴍɪᴜᴍ ᴀᴄᴄᴇꜱꜱ : {time}\n\n⏳ ᴊᴏɪɴɪɴɢ ᴅᴀᴛᴇ : {current_time}\n\n⌛️ ᴇxᴘɪʀʏ ᴅᴀᴛᴇ : {expiry_str_in_ist} \n\n__**Powered by Team SPY__**", disable_web_page_preview=True) + await message.reply_text(f"ᴘʀᴇᴍɪᴜᴍ ᴀᴅᴅᴇᴅ ꜱᴜᴄᴄᴇꜱꜱꜰᴜʟʟʏ ✅\n\n👤 ᴜꜱᴇʀ : {user.mention}\n⚡ ᴜꜱᴇʀ ɪᴅ : {user_id}\n⏰ ᴘʀᴇᴍɪᴜᴍ ᴀᴄᴄᴇꜱꜱ : {time}\n\n⏳ ᴊᴏɪɴɪɴɢ ᴅᴀᴛᴇ : {current_time}\n\n⌛️ ᴇxᴘɪʀʏ ᴅᴀᴛᴇ : {expiry_str_in_ist} \n\n__**Powered by Joseph__**", disable_web_page_preview=True) await client.send_message( chat_id=user_id, text=f"👋 ʜᴇʏ {user.mention},\nᴛʜᴀɴᴋ ʏᴏᴜ ꜰᴏʀ ᴘᴜʀᴄʜᴀꜱɪɴɢ ᴘʀᴇᴍɪᴜᴍ.\nᴇɴᴊᴏʏ !! ✨🎉\n\n⏰ ᴘʀᴇᴍɪᴜᴍ ᴀᴄᴄᴇꜱꜱ : {time}\n⏳ ᴊᴏɪɴɪɴɢ ᴅᴀᴛᴇ : {current_time}\n\n⌛️ ᴇxᴘɪʀʏ ᴅᴀᴛᴇ : {expiry_str_in_ist}", disable_web_page_preview=True @@ -159,7 +159,7 @@ async def transfer_premium(client, message): f"👤 **From:** {sender_user.mention}\n" f"👤 **To:** {new_user.mention}\n" f"⏳ **Expiry Date:** {expiry_str_in_ist}\n\n" - f"__Powered by Team SPY__ 🚀" + f"__Powered by Joseph__ 🚀" ) # Notification to the new user diff --git a/devgagan/modules/shrink.py b/devgagan/modules/shrink.py index c225f9ea8..7c19fa14a 100644 --- a/devgagan/modules/shrink.py +++ b/devgagan/modules/shrink.py @@ -73,9 +73,9 @@ async def token_handler(client, message): msg = await app.get_messages(chat_id, 796) user_id = message.chat.id if len(message.command) <= 1: - image_url = "https://i.postimg.cc/v8q8kGyz/startimg-1.jpg" - join_button = InlineKeyboardButton("Join Channel", url="https://t.me/team_spy_pro") - premium = InlineKeyboardButton("Get Premium", url="https://t.me/kingofpatal") + image_url = "https://graph.org/file/94bf9089d43b817bb76d2-c0ccb0de00b10adf9e.png" + join_button = InlineKeyboardButton("Updates Channel", url="https://t.me/smartkitbots") + premium = InlineKeyboardButton("How To Use Me", url="https://t.me/smartkitbots/28") keyboard = InlineKeyboardMarkup([ [join_button], [premium] @@ -85,8 +85,8 @@ async def token_handler(client, message): msg.photo.file_id, caption=( "Hi 👋 Welcome, Wanna intro...?\n\n" - "✳️ I can save posts from channels or groups where forwarding is off. I can download videos/audio from YT, INSTA, ... social platforms\n" - "✳️ Simply send the post link of a public channel. For private channels, do /login. Send /help to know more." + "👉 What I Can Do:\n✨ Save posts from channels and groups where forwarding is off.\n✨ Easily fetch messages from public channels by sending their post links.\n✨ For private channels, use /login to access content securely.\n✨ Need assistance? Just type /help and I'll guide you!\n" + "\n👉 Premium Features:\n🔹 Use /token to get 3 hours of free premium access.\n🔹 Want unlimited access? Use /Plan to unlock premium features.\n🔹 Premium users enjoy faster processing, unlimited saves, and priority support.\n\n📌 Getting Started:\n✅ Send a post link from a public channel to save it instantly.\n✅ If the channel is private, use /login before sending the link.\n✅ For additional commands, check /help anytime! \n\nHappy saving!🚀" ), reply_markup=keyboard ) @@ -144,4 +144,4 @@ async def smart_handler(client, message): [[InlineKeyboardButton("Verify the token now...", url=shortened_url)]] ) await message.reply("Click the button below to verify your free access token: \n\n> What will you get ? \n1. No time bound upto 3 hours \n2. Batch command limit will be FreeLimit + 20 \n3. All functions unlocked", reply_markup=button) - \ No newline at end of file + diff --git a/devgagan/modules/speedtest.py b/devgagan/modules/speedtest.py index 9cf258a02..d83c33c81 100644 --- a/devgagan/modules/speedtest.py +++ b/devgagan/modules/speedtest.py @@ -85,7 +85,7 @@ async def speedtest(event): ├ Country: {result['client']['country']}ISP: {result['client']['isp']}ISP Rating: {result['client']['isprating']} -╰ Powered by Team SPY +╰ Powered by SmartKit Bots ''' try: await event.reply(string_speed,file=path,parse_mode='html') diff --git a/devgagan/modules/start.py b/devgagan/modules/start.py index 2fe0a1659..6bea345b1 100644 --- a/devgagan/modules/start.py +++ b/devgagan/modules/start.py @@ -109,7 +109,7 @@ async def set(_, message): "> 4. REPLACEWORDS : Can be used for words in deleted set via REMOVE WORDS\n" "> 5. RESET : To set the things back to default\n\n" "> You can set CUSTOM THUMBNAIL, PDF WATERMARK, VIDEO WATERMARK, SESSION-based login, etc. from settings\n\n" - "**__Powered by Team SPY__**" + "**__Powered by Joseph__**" ) ] @@ -176,14 +176,14 @@ async def terms(client, message): terms_text = ( "> 📜 **Terms and Conditions** 📜\n\n" "✨ We are not responsible for user deeds, and we do not promote copyrighted content. If any user engages in such activities, it is solely their responsibility.\n" - "✨ Upon purchase, we do not guarantee the uptime, downtime, or the validity of the plan. __Authorization and banning of users are at our discretion; we reserve the right to ban or authorize users at any time.__\n" + "✨ Upon purchase, we do guarantee the uptime, downtime, or the validity of the plan. __Authorization and banning of users are at our discretion; we reserve the right to ban or authorize users at any time.__\n" "✨ Payment to us **__does not guarantee__** authorization for the /batch command. All decisions regarding authorization are made at our discretion and mood.\n" ) buttons = InlineKeyboardMarkup( [ [InlineKeyboardButton("📋 See Plans", callback_data="see_plan")], - [InlineKeyboardButton("💬 Contact Now", url="https://t.me/kingofpatal")], + [InlineKeyboardButton("💬 Contact Now", url="https://t.me/Nkkwksl")], ] ) await message.reply_text(terms_text, reply_markup=buttons) @@ -192,17 +192,13 @@ async def terms(client, message): @app.on_message(filters.command("plan") & filters.private) async def plan(client, message): plan_text = ( - "> 💰 **Premium Price**:\n\n Starting from $2 or 200 INR accepted via **__Amazon Gift Card__** (terms and conditions apply).\n" - "📥 **Download Limit**: Users can download up to 100,000 files in a single batch command.\n" - "🛑 **Batch**: You will get two modes /bulk and /batch.\n" - " - Users are advised to wait for the process to automatically cancel before proceeding with any downloads or uploads.\n\n" - "📜 **Terms and Conditions**: For further details and complete terms and conditions, please send /terms.\n" + "> 💰 **Upgrade To Premium**:\n\n🚀 Premium Features\n✅ No verification every 2 hours ⏳\n✅ Upload in bulk (up to 2000 files)\n✅ Instantly skip the 300-second wait ⏱️\n✅ Extract unlimited videos & files from anywhere🎥\n\n🔹Pricing:\n▸ ₹39 ┇ 1 Week\n▸ ₹50 ┇ 14 Days\n▸ ₹70 ┇20 Days\n▸ ₹80 ┇1 Month\n▸ ₹169┇ 3 Months\n▸ ₹ 319┇ 6 Months\n▸ ₹599 ┇ 1 Year\n▸ ₹1.5ᴋ ┇ Vild Till Exist\n\n🌐For International Members\n▸ $2 ┇1 Month\n▸ $3 ┇ 3 Months\n▸ $6 ┇ 6 Months\n▸ $9 ┇ 1 Year\n▸ $18┇ Vild Till Exist\n\n📌 Payment Methods:\n- UPI ID: dramawave7-1@okaxis\n- QR Code: Pay via UPI\n- Crypto (Binance) & Paypal\n\n📤 After Payment:\n1️⃣ Send a payment screenshot below👇\n2️⃣ Contact Admin to activate your Premium\n\n💌 Thank you for supporting this project!❤️\n" ) buttons = InlineKeyboardMarkup( [ - [InlineKeyboardButton("📜 See Terms", callback_data="see_terms")], - [InlineKeyboardButton("💬 Contact Now", url="https://t.me/kingofpatal")], + [InlineKeyboardButton("📋 Pay Here", url="https://assets72729.github.io/PayWeb/")], + [InlineKeyboardButton("💬 Contact Admin", url="https://t.me/Nkkwksl")], ] ) await message.reply_text(plan_text, reply_markup=buttons) @@ -211,17 +207,13 @@ async def plan(client, message): @app.on_callback_query(filters.regex("see_plan")) async def see_plan(client, callback_query): plan_text = ( - "> 💰**Premium Price**\n\n Starting from $2 or 200 INR accepted via **__Amazon Gift Card__** (terms and conditions apply).\n" - "📥 **Download Limit**: Users can download up to 100,000 files in a single batch command.\n" - "🛑 **Batch**: You will get two modes /bulk and /batch.\n" - " - Users are advised to wait for the process to automatically cancel before proceeding with any downloads or uploads.\n\n" - "📜 **Terms and Conditions**: For further details and complete terms and conditions, please send /terms or click See Terms👇\n" + "> 💰**Upgrade To Premium**\n\n🚀 Premium Features\n✅ No verification every 2 hours ⏳\n✅ Upload in bulk (up to 2000 files)\n✅ Instantly skip the 300-second wait ⏱️\n✅ Extract unlimited videos & files from anywhere🎥\n\n🔹Pricing:\n▸ ₹39┇ 1 Week\n▸ ₹50 ┇ 14 Days\n▸ ₹70┇ 20 Days\n▸ ₹80┇ 1 Month\n▸ ₹169 ┇ 3 Months\n▸ ₹ 319┇ 6 Months\n▸ ₹599┇ 1 year\n▸ ₹1.5ᴋ┇ Vild Till Exist\n\n🌐For International Members\n▸ $2 ┇1 Month\n▸ $3 ┇ 3 Months\n▸ $6 ┇ 6 Months\n▸ $9 ┇ 1 Year\n▸ $18┇ Vild Till Exist\n\n📌 Payment Methods:\n- UPI ID: dramawave7-1@okaxis\n- QR Code: Pay via UPI\n- Crypto (Binance) & Paypal\n\n📤 After Payment:\n1️⃣ Send a payment screenshot below👇\n2️⃣ Contact Admin to activate your premium\n\n💌 Thank you for supporting this project!❤️\n" ) buttons = InlineKeyboardMarkup( [ - [InlineKeyboardButton("📜 See Terms", callback_data="see_terms")], - [InlineKeyboardButton("💬 Contact Now", url="https://t.me/kingofpatal")], + [InlineKeyboardButton("📋 Pay Here", url="https://assets72729.github.io/PayWeb/")], + [InlineKeyboardButton("💬 Contact Admin", url="https://t.me/Nkkwksl")], ] ) await callback_query.message.edit_text(plan_text, reply_markup=buttons) @@ -232,14 +224,14 @@ async def see_terms(client, callback_query): terms_text = ( "> 📜 **Terms and Conditions** 📜\n\n" "✨ We are not responsible for user deeds, and we do not promote copyrighted content. If any user engages in such activities, it is solely their responsibility.\n" - "✨ Upon purchase, we do not guarantee the uptime, downtime, or the validity of the plan. __Authorization and banning of users are at our discretion; we reserve the right to ban or authorize users at any time.__\n" - "✨ Payment to us **__does not guarantee__** authorization for the /batch command. All decisions regarding authorization are made at our discretion and mood.\n" + "✨ Upon purchase, we do guarantee the uptime, downtime, or the validity of the plan. __Authorization and banning of users are at our discretion; we reserve the right to ban or authorize users at any time.__\n" + "✨ Payment to us **__does guarantee__** authorization for the /batch command. All decisions regarding authorization are made at our discretion and mood.\n" ) buttons = InlineKeyboardMarkup( [ - [InlineKeyboardButton("📋 See Plans", callback_data="see_plan")], - [InlineKeyboardButton("💬 Contact Now", url="https://t.me/kingofpatal")], + [InlineKeyboardButton("📋 See Terms", callback_data="see_terms")], + [InlineKeyboardButton("💬 Contact Us", url="https://t.me/NkkwkslBot")], ] ) await callback_query.message.edit_text(terms_text, reply_markup=buttons)