(client, message)
| 15 | |
| 16 | @Client.on_message(filters.command("clone") & filters.private) |
| 17 | async def clone(client, message): |
| 18 | if CLONE_MODE == False: |
| 19 | return |
| 20 | techvj = await client.ask(message.chat.id, "<b>1) sᴇɴᴅ <code>/newbot</code> ᴛᴏ @BotFather\n2) ɢɪᴠᴇ ᴀ ɴᴀᴍᴇ ꜰᴏʀ ʏᴏᴜʀ ʙᴏᴛ.\n3) ɢɪᴠᴇ ᴀ ᴜɴɪǫᴜᴇ ᴜsᴇʀɴᴀᴍᴇ.\n4) ᴛʜᴇɴ ʏᴏᴜ ᴡɪʟʟ ɢᴇᴛ ᴀ ᴍᴇssᴀɢᴇ ᴡɪᴛʜ ʏᴏᴜʀ ʙᴏᴛ ᴛᴏᴋᴇɴ.\n5) ꜰᴏʀᴡᴀʀᴅ ᴛʜᴀᴛ ᴍᴇssᴀɢᴇ ᴛᴏ ᴍᴇ.\n\n/cancel - ᴄᴀɴᴄᴇʟ ᴛʜɪs ᴘʀᴏᴄᴇss.</b>") |
| 21 | if techvj.text == '/cancel': |
| 22 | await techvj.delete() |
| 23 | return await message.reply('<b>ᴄᴀɴᴄᴇʟᴇᴅ ᴛʜɪs ᴘʀᴏᴄᴇss 🚫</b>') |
| 24 | if techvj.forward_from and techvj.forward_from.id == 93372553: |
| 25 | try: |
| 26 | bot_token = re.findall(r"\b(\d+:[A-Za-z0-9_-]+)\b", techvj.text)[0] |
| 27 | except: |
| 28 | return await message.reply('<b>sᴏᴍᴇᴛʜɪɴɢ ᴡᴇɴᴛ ᴡʀᴏɴɢ 😕</b>') |
| 29 | else: |
| 30 | return await message.reply('<b>ɴᴏᴛ ꜰᴏʀᴡᴀʀᴅᴇᴅ ꜰʀᴏᴍ @BotFather 😑</b>') |
| 31 | user_id = message.from_user.id |
| 32 | msg = await message.reply_text("**👨💻 ᴡᴀɪᴛ ᴀ ᴍɪɴᴜᴛᴇ ɪ ᴀᴍ ᴄʀᴇᴀᴛɪɴɢ ʏᴏᴜʀ ʙᴏᴛ ❣️**") |
| 33 | try: |
| 34 | vj = Client( |
| 35 | f"{bot_token}", API_ID, API_HASH, |
| 36 | bot_token=bot_token, |
| 37 | plugins={"root": "clone_plugins"} |
| 38 | ) |
| 39 | await vj.start() |
| 40 | bot = await vj.get_me() |
| 41 | details = { |
| 42 | 'bot_id': bot.id, |
| 43 | 'is_bot': True, |
| 44 | 'user_id': user_id, |
| 45 | 'name': bot.first_name, |
| 46 | 'token': bot_token, |
| 47 | 'username': bot.username |
| 48 | } |
| 49 | mongo_db.bots.insert_one(details) |
| 50 | await msg.edit_text(f"<b>sᴜᴄᴄᴇssғᴜʟʟʏ ᴄʟᴏɴᴇᴅ ʏᴏᴜʀ ʙᴏᴛ: @{bot.username}.</b>") |
| 51 | except BaseException as e: |
| 52 | await msg.edit_text(f"⚠️ <b>Bot Error:</b>\n\n<code>{e}</code>\n\n**Kindly forward this message to @KingVJ01 to get assistance.**") |
| 53 | |
| 54 | @Client.on_message(filters.command("deletecloned") & filters.private) |
| 55 | async def delete_cloned_bot(client, message): |
nothing calls this directly
no outgoing calls
no test coverage detected