diff --git a/.env b/.env new file mode 100644 index 00000000..a4969f8f --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +REDIRECTOR_DOMAIN=sukuna.site +ENCRYPTION_KEY=e2d7c581a9f032b4c6e917d84b2c1f3a5e8d9b0a1f2c3d4e5f6a7b8c9d0e1f2a diff --git a/Dockerfile b/Dockerfile index c3a46a13..4dc5a34f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,11 @@ FROM python:3.10 + WORKDIR /app + COPY . . + +RUN pip install --no-cache-dir -r requirements.txt + RUN chmod +x start.sh + CMD ["bash", "start.sh"] diff --git a/bot.log b/bot.log new file mode 100644 index 00000000..da596a96 --- /dev/null +++ b/bot.log @@ -0,0 +1,178 @@ +[13-Apr-26 15:30:27 - WARNING] - yato - bot - Bot can't Export Invite link from Force Sub Channel! +[13-Apr-26 15:30:27 - WARNING] - yato - bot - +Bot Stopped. +[13-Apr-26 15:30:27 - WARNING] - yato - bot - +Bot Stopped. +[13-Apr-26 15:31:10 - WARNING] - yato - bot - Could not load dynamic fsub channel -1002270729362: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load dynamic fsub channel -1002345643351: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load dynamic fsub channel -1002345643351: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load dynamic fsub channel -1002239371276: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load dynamic fsub channel -1002239371276: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load dynamic fsub channel -1002239371276: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1003720992938: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1003720992938: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1003720992938: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1003720992938: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1002558171315: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1002558171315: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1002558171315: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1002558171315: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:11 - WARNING] - yato - bot - Could not load DB channel -1002558171315: Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Telegram says: [400 CHANNEL_INVALID] (caused by "channels.GetChannels") Pyrogram 2.3.50 thinks: The channel parameter is invalid +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Make Sure bot is Admin in DB Channel, and Double check the database channel Value, Current Value -1002558171315 +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Make Sure bot is Admin in DB Channel, and Double check the database channel Value, Current Value -1002558171315 +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Make Sure bot is Admin in DB Channel, and Double check the database channel Value, Current Value -1002558171315 +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Make Sure bot is Admin in DB Channel, and Double check the database channel Value, Current Value -1002558171315 +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Make Sure bot is Admin in DB Channel, and Double check the database channel Value, Current Value -1002558171315 +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Make Sure bot is Admin in DB Channel, and Double check the database channel Value, Current Value -1002558171315 +[13-Apr-26 15:31:12 - WARNING] - yato - bot - Make Sure bot is Admin in DB Channel, and Double check the database channel Value, Current Value -1002558171315 +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:31:12 - INFO] - yato - bot - +Bot Stopped. Join https://t.me/animes_cruise for support +[13-Apr-26 15:33:36 - INFO] - yato - bot - Primary DB Channel: -1002558171315 +[13-Apr-26 15:33:36 - INFO] - yato - bot - Total DB Channels: 0 +[13-Apr-26 15:33:36 - INFO] - yato - bot - Total DB Channels: 0 +[13-Apr-26 15:33:36 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 15:33:36 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 15:33:36 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 15:33:36 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:33:36 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:33:36 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:33:36 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:35:07 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 15:35:07 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 15:35:07 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 15:35:34 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:35:34 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:35:34 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:35:34 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:35:34 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:40:57 - INFO] - yato - bot - Primary DB Channel: -1002558171315 +[13-Apr-26 15:40:57 - INFO] - yato - bot - Total DB Channels: 0 +[13-Apr-26 15:40:57 - INFO] - yato - bot - Total DB Channels: 0 +[13-Apr-26 15:40:57 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 15:40:57 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 15:40:57 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 15:40:57 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:40:57 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:40:57 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:40:57 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 15:41:38 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 15:41:38 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 15:41:38 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 15:50:21 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:50:21 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:50:21 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:50:21 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 15:50:21 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 16:08:20 - INFO] - yato - bot - Primary DB Channel: -1002558171315 +[13-Apr-26 16:08:20 - INFO] - yato - bot - Total DB Channels: 0 +[13-Apr-26 16:08:20 - INFO] - yato - bot - Total DB Channels: 0 +[13-Apr-26 16:08:20 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 16:08:20 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 16:08:20 - INFO] - yato - bot - Bot Started!! +[13-Apr-26 16:08:20 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 16:08:20 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 16:08:20 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 16:08:20 - INFO] - yato - bot - Restart notification sent to owner: 6123108288 +[13-Apr-26 16:09:49 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:09:49 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:09:49 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:10:49 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:10:49 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:10:49 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:10:49 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:10:49 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:10:49 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:10:49 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:11:46 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:11:46 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:11:46 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:11:46 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:11:46 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:11:47 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:11:47 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:11:47 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:11:47 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:11:47 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:11:47 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:12:25 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:06 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Trying to get messages from source channel: -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:24 - INFO] - yato - plugins.start - Found 1 messages from source channel -1002558171315 +[13-Apr-26 16:13:39 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 16:13:39 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 16:13:39 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 16:13:39 - INFO] - yato - bot - Bot stopped. +[13-Apr-26 16:13:39 - INFO] - yato - bot - Bot stopped. diff --git a/bot.py b/bot.py index 8db3a070..ceeb4719 100644 --- a/bot.py +++ b/bot.py @@ -139,6 +139,13 @@ async def start(self): self.tutorial_link = SHORT_TUT self.shortner_enabled = True + # Load bot settings + try: + self.auto_watermark = await self.mongodb.get_bot_setting('auto_watermark', True) + except Exception as e: + self.LOGGER(__name__, self.name).warning(f"Error loading bot settings: {e}") + self.auto_watermark = True + try: db_channel = await self.get_chat(self.db) self.db_channel = db_channel diff --git a/config.py b/config.py index 96052157..082f0147 100644 --- a/config.py +++ b/config.py @@ -3,28 +3,28 @@ # Bot Configuration LOG_FILE_NAME = "bot.log" -PORT = '5010' -OWNER_ID = 6497757690 +PORT = 5010 +OWNER_ID = 6123108288 MSG_EFFECT = 5046509860389126442 SHORT_URL = "linkshortify.com" # shortner url -SHORT_API = "" -SHORT_TUT = "https://t.me/How_to_Download_7x/26" +SHORT_API = "573350da0e10a5a44f7e6fec3bc2b3f836b47805" +SHORT_TUT = "https://t.me/Infinix_Tutorial/10" # Bot Configuration SESSION = "yato" -TOKEN = "642712" -API_ID = "" -API_HASH = "" +TOKEN = "7751221792:AAERWAIjUrhiEIVW-mWzF6v7l3dBLNrez14" +API_ID = "21446955" +API_HASH = "e6f34a6186963663342b88b88c2b4750" WORKERS = 5 -DB_URI = "mongodb" -DB_NAME = "yato" +DB_URI = "mongodb+srv://souravagarwal14092007:szXRs8g7fErCnn4@cluster0.xlsbf3o.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0" +DB_NAME = "Cluster0" -FSUBS = [[-1003016571084, True, 10]] # Force Subscription Channels [channel_id, request_enabled, timer_in_minutes] +FSUBS = [] # Temporarily disabled so bot can run locally without being an admin in the channel # Database Channel (Primary) -DB_CHANNEL = # just put channel id dont add "" +DB_CHANNEL = -1002558171315 # just put channel id dont add "" # Multiple Database Channels (can be set via bot settings) # DB_CHANNELS = { # "-1002595092736": {"name": "Primary DB", "is_primary": True, "is_active": True}, @@ -33,22 +33,22 @@ # Auto Delete Timer (seconds) AUTO_DEL = 300 # Admin IDs -ADMINS = [6497757690, 6103092779] +ADMINS = [6123108288] # Bot Settings DISABLE_BTN = True PROTECT = True # Messages Configuration MESSAGES = { - "START": "›› ʜᴇʏ!!, {first} ~
ʟᴏᴠᴇ ᴘᴏʀɴʜᴡᴀ? ɪ ᴀᴍ ᴍᴀᴅᴇ ᴛᴏ ʜᴇʟᴘ ʏᴏᴜ ᴛᴏ ғɪɴᴅ ᴡʜᴀᴛ ʏᴏᴜ aʀᴇ ʟᴏᴏᴋɪɴɢ ꜰᴏʀ.
", + "START": "›› ʜᴇʏ!!, {first} ~
ʟᴏᴠᴇ ᴘᴏʀɴ? ɪ ᴀᴍ ᴍᴀᴅᴇ ᴛᴏ ʜᴇʟᴘ ʏᴏᴜ ᴛᴏ ғɪɴᴅ ᴡʜᴀᴛ ʏᴏᴜ aʀᴇ ʟᴏᴏᴋɪɴɢ ꜰᴏʀ.
", "FSUB": "
›› ʜᴇʏ ×
\n ʏᴏᴜʀ ғɪʟᴇ ɪs ʀᴇᴀᴅʏ ‼️ ʟᴏᴏᴋs ʟɪᴋᴇ ʏᴏᴜ ʜᴀᴠᴇɴ'ᴛ sᴜʙsᴄʀɪʙᴇᴅ ᴛᴏ ᴏᴜʀ ᴄʜᴀɴɴᴇʟs ʏᴇᴛ, sᴜʙsᴄʀɪʙᴇ ɴᴏᴡ ᴛᴏ ɢᴇᴛ ʏᴏᴜʀ ғɪʟᴇs
", - "ABOUT": "›› ғᴏʀ ᴍᴏʀᴇ: @Nova_Flix \n
›› ᴜᴘᴅᴀᴛᴇs ᴄʜᴀɴɴᴇʟ: Cʟɪᴄᴋ ʜᴇʀᴇ \n›› ᴏᴡɴᴇʀ: @ProYato\n›› ʟᴀɴɢᴜᴀɢᴇ: Pʏᴛʜᴏɴ 3 \n›› ʟɪʙʀᴀʀʏ: Pʏʀᴏɢʀᴀᴍ ᴠ2 \n›› ᴅᴀᴛᴀʙᴀsᴇ: Mᴏɴɢᴏ ᴅʙ \n›› ᴅᴇᴠᴇʟᴏᴘᴇʀ: @cosmic_freak
", - "REPLY": "For More Join - @Hanime_Arena", + "ABOUT": "
◈ ᴏᴡɴᴇʀ : ɪᴍ•Ꮪᴜ͢ᴋᴜɴᴀ\n◈ ꜰᴏᴜɴᴅᴇʀ ᴏꜰ : ɪɴғɪɴɪx sʏɴᴅɪᴄᴀᴛᴇ\n◈ ᴍᴏᴠɪᴇs ᴄʜᴀɴɴᴇʟ : ɪɴғɪɴɪx ᴍᴏᴠɪᴇs\n◈ ᴅᴇᴠᴇʟᴏᴘᴇʀ : Sᴜᴋᴜɴᴀ
", + "REPLY": "For More Join - @Infinix_Adult", "SHORT_MSG": "📊 ʜᴇʏ {first}, \n\n‼️ ɢᴇᴛ ᴀʟʟ ꜰɪʟᴇꜱ ɪɴ ᴀ ꜱɪɴɢʟᴇ ʟɪɴᴋ ‼️\n\n ⌯ ʏᴏᴜʀ ʟɪɴᴋ ɪꜱ ʀᴇᴀᴅʏ, ᴋɪɴᴅʟʏ ᴄʟɪᴄᴋ ᴏɴ ᴏᴘᴇɴ ʟɪɴᴋ ʙᴜᴛᴛᴏɴ..", - "START_PHOTO": "https://graph.org/file/510affa3d4b6c911c12e3.jpg", - "FSUB_PHOTO": "https://telegra.ph/file/7a16ef7abae23bd238c82-b8fbdcb05422d71974.jpg", - "SHORT_PIC": "https://telegra.ph/file/7a16ef7abae23bd238c82-b8fbdcb05422d71974.jpg", - "SHORT": "https://telegra.ph/file/8aaf4df8c138c6685dcee-05d3b183d4978ec347.jpg" + "START_PHOTO": "https://i.ibb.co/GvJsGpyL/x.jpg", + "FSUB_PHOTO": "https://i.ibb.co/GvJsGpyL/x.jpg", + "SHORT_PIC": "https://i.ibb.co/GvJsGpyL/x.jpg", + "SHORT": "https://i.ibb.co/GvJsGpyL/x.jpg" } def LOGGER(name: str, client_name: str) -> logging.Logger: diff --git a/helper/helper_func.py b/helper/helper_func.py index 51b14fcb..e218268d 100644 --- a/helper/helper_func.py +++ b/helper/helper_func.py @@ -480,7 +480,7 @@ async def batch_auto_del_notification(bot_username, messages, delay_time, transf # Update notification with get files button try: - if transfer_link: + if transfer_link and getattr(client, 'get_files_btn', True): try: name = "• ɢᴇᴛ ғɪʟᴇs •" link = f"https://t.me/{bot_username}?start={transfer_link}" diff --git a/plugins/channel_post.py b/plugins/channel_post.py index d4f6b61a..35aa5fed 100644 --- a/plugins/channel_post.py +++ b/plugins/channel_post.py @@ -3,7 +3,7 @@ from pyrogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton from pyrogram.errors import FloodWait from helper.helper_func import encode - +import re #===============================================================# @Client.on_message(filters.private & ~filters.command(['start', 'shortner','users','broadcast','batch','genlink','stats', 'pbroadcast', 'db', 'adddb', 'add_db', 'removedb', 'rm_db', 'ban', 'unban', 'addpremium', 'delpremium', 'premiumusers', 'request', 'profile'])) @@ -54,6 +54,3 @@ async def new_post(client: Client, message: Message): pass - - - diff --git a/plugins/settings.py b/plugins/settings.py index 66e6e5b4..04d1623b 100644 --- a/plugins/settings.py +++ b/plugins/settings.py @@ -65,6 +65,8 @@ async def settings_page_2(client, query): ›› **ᴀᴜᴛᴏ ᴅᴇʟᴇᴛᴇ ᴛɪᴍᴇʀ:** `{client.auto_del}` ›› **ᴘʀᴏᴛᴇᴄᴛ ᴄᴏɴᴛᴇɴᴛ:** `{"✓ ᴛʀᴜᴇ" if client.protect else "✗ ꜰᴀʟsᴇ"}` ›› **ᴅɪsᴀʙʟᴇ ʙᴜᴛᴛᴏɴ:** `{"✓ ᴛʀᴜᴇ" if client.disable_btn else "✗ ꜰᴀʟsᴇ"}` +›› **ᴀᴜᴛᴏ ᴡᴀᴛᴇʀᴍᴀʀᴋ:** `{"✓ ᴛʀᴜᴇ" if getattr(client, 'auto_watermark', True) else "✗ ꜰᴀʟsᴇ"}` +›› **ɢᴇᴛ ꜰɪʟᴇs ʙᴛɴ:** `{"✓ ᴛʀᴜᴇ" if getattr(client, 'get_files_btn', True) else "✗ ꜰᴀʟsᴇ"}` ›› **ʀᴇᴘʟʏ ᴛᴇxᴛ:** `{client.reply_text if client.reply_text else 'ɴᴏɴᴇ'}` ›› **ᴀᴅᴍɪɴs:** `{len(client.admins)}` ›› **sʜᴏʀᴛɴᴇʀ ᴜʀʟ:** `{getattr(client, 'short_url', 'ɴᴏᴛ sᴇᴛ')}` @@ -83,6 +85,7 @@ async def settings_page_2(client, query): reply_markup = InlineKeyboardMarkup([ [InlineKeyboardButton('ᴘʀᴏᴛᴇᴄᴛ ᴄᴏɴᴛᴇɴᴛ', 'protect'), InlineKeyboardButton('ᴘʜᴏᴛᴏs', 'photos')], [InlineKeyboardButton('ᴛᴇxᴛs', 'texts'), InlineKeyboardButton('sʜᴏʀᴛɴᴇʀ', 'shortner')], + [InlineKeyboardButton('ᴀᴜᴛᴏ ᴡᴀᴛᴇʀᴍᴀʀᴋ', 'toggle_watermark'), InlineKeyboardButton('ɢᴇᴛ ꜰɪʟᴇs ʙᴛɴ', 'toggle_get_files')], [InlineKeyboardButton('‹ ᴘʀᴇᴠ', 'settings'), InlineKeyboardButton('ʜᴏᴍᴇ', 'home')] ]) await query.message.edit_text(msg, reply_markup=reply_markup) @@ -474,6 +477,23 @@ async def protect(client, query): #===============================================================# +@Client.on_callback_query(filters.regex("^toggle_get_files$")) +async def toggle_get_files(client, query): + current = getattr(client, 'get_files_btn', True) + client.get_files_btn = not current + return await settings_page_2(client, query) + +#===============================================================# + +@Client.on_callback_query(filters.regex("^toggle_watermark$")) +async def toggle_watermark(client, query): + current = getattr(client, 'auto_watermark', True) + client.auto_watermark = not current + await client.mongodb.update_bot_setting('auto_watermark', client.auto_watermark) + return await settings_page_2(client, query) + +#===============================================================# + @Client.on_callback_query(filters.regex("^auto_del$")) async def auto_del(client, query): msg = f"""
**Change Auto Delete Time:**
diff --git a/plugins/shortner.py b/plugins/shortner.py index 34418532..8da8c386 100644 --- a/plugins/shortner.py +++ b/plugins/shortner.py @@ -1,6 +1,7 @@ import requests import random import string +import base64 from config import SHORT_URL, SHORT_API, MESSAGES from pyrogram import Client, filters from pyrogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton, CallbackQuery, InputMediaPhoto @@ -36,9 +37,21 @@ def get_short(url, client): rjson = response.json() if rjson.get("status") == "success" and response.status_code == 200: - short_url = rjson.get("shortenedUrl", url) - shortened_urls_cache[url] = short_url - return short_url + # Get the original shortener link (lksfy.com) + original_short_link = rjson.get("shortenedUrl", url) + + # --- CUSTOM DOMAIN REDIRECT LOGIC --- + # 1. Encode the lksfy link to Base64 + encoded_link = base64.b64encode(original_short_link.encode("utf-8")).decode("utf-8") + + # 2. Build the new sukuna.site link + secure_domain_link = f"https://sukuna.site/?to={encoded_link}" + + # 3. Save to cache and return the new custom domain link + shortened_urls_cache[url] = secure_domain_link + return secure_domain_link + # ------------------------------------ + except Exception as e: print(f"[Shortener Error] {e}") diff --git a/plugins/start.py b/plugins/start.py index 29ff4000..fe6fdd19 100644 --- a/plugins/start.py +++ b/plugins/start.py @@ -6,6 +6,7 @@ from plugins.shortner import get_short from helper.helper_func import get_messages, force_sub, decode, batch_auto_del_notification import asyncio +import re #===============================================================# @@ -69,7 +70,7 @@ async def start_command(client: Client, message: Message): InlineKeyboardButton("ᴛᴜᴛᴏʀɪᴀʟ •", url=tutorial_link) ], [ - InlineKeyboardButton(" • ʙᴜʏ ᴘʀᴇᴍɪᴜᴍ •", url="https://t.me/Premium_Fliix/21") + InlineKeyboardButton(" • ʙᴜʏ ᴘʀᴇᴍɪᴜᴍ •", url="https://t.me/Infinix_Adult/27") ] ]) ) @@ -161,7 +162,7 @@ async def start_command(client: Client, message: Message): return await message.reply("⚠️ Invalid or expired link.") # 7. Get messages from the specific source channel first - temp_msg = await message.reply("Wait A Sec..") + temp_msg = await message.reply("⏳") messages = [] try: @@ -206,12 +207,15 @@ async def start_command(client: Client, message: Message): yugen_msgs = [] for msg in messages: - caption = ( - client.messages.get('CAPTION', '').format( - previouscaption=msg.caption.html if msg.caption else msg.document.file_name - ) if bool(client.messages.get('CAPTION', '')) and bool(msg.document) - else ("" if not msg.caption else msg.caption.html) - ) + if getattr(client, 'auto_watermark', True): + caption = ( + client.messages.get('CAPTION', '').format( + previouscaption=msg.caption.html if msg.caption else msg.document.file_name + ) if bool(client.messages.get('CAPTION', '')) and bool(msg.document) + else ("" if not msg.caption else msg.caption.html) + ) + else: + caption = "" if not msg.caption else msg.caption.html reply_markup = msg.reply_markup if not client.disable_btn else None try: @@ -237,8 +241,8 @@ async def start_command(client: Client, message: Message): # 8. Auto delete timer if messages and client.auto_del > 0: - # Create transfer link for getting files again (original base64_string) - transfer_link = original_payload + # Create transfer link with the raw base64 string to force the shortener ad again + transfer_link = base64_string # Start batch auto delete notification - single notification for all files asyncio.create_task(batch_auto_del_notification( @@ -296,7 +300,7 @@ async def request_command(client: Client, message: Message): return if not is_user_premium: - BUTTON_URL = "https://t.me/hanime_arena/5" + BUTTON_URL = "https://t.me/Infinix_Adult/27" reply_markup = InlineKeyboardMarkup([ [InlineKeyboardButton("💎 Upgrade to Premium", url=BUTTON_URL)] ]) diff --git a/yato.session b/yato.session new file mode 100644 index 00000000..4bad7148 Binary files /dev/null and b/yato.session differ