A Telegram robot can clone medias from any chat to your own chat.

Overview

Clonebot

A Telegram robot can clone medias from any chat to your own chat.

Read the documentation to know how to use the bot


Deploy

Developer

GPL3
 

Documentation

Support this project

Buy me a coffee for my work !



License

Credits

GPL3

Comments
  • String

    String

    2021-09-20T07:56:14.131070+00:00 app[worker.1]: [20-Sep-21 07:56:14 - INFO] - bot - @Oloclon_bot started! 2021-09-20T07:56:15.864823+00:00 app[worker.1]: [20-Sep-21 07:56:15 - INFO] - user - @None started! 2021-09-20T07:56:16.106626+00:00 app[worker.1]: Bot is blocked by the session user ! 2021-09-20T07:56:16.378755+00:00 heroku[worker.1]: Process exited with status 0 2021-09-20T07:56:16.556946+00:00 heroku[worker.1]: State changed from up to crashed

    I think this issue is due to Telegram latest update where Telegram migrated from 32 to 64 bit if no is there any solution ? 😅

    opened by chiefgamer 6
  • Filters

    Filters

    This project is really amazing. Only thing that is missing is filters. Like message filtering with specific keywords ,either whitelist keyword or blacklist keyword. So we can control copying messages ,files including those keyword. Thank you for awesome bot.

    opened by iamLiquidX 6
  • Option to forword text messages as well.

    Option to forword text messages as well.

    First of all this is very nice bot... A bot I always was looking for... Thanks for building it and I would really appreciate if you can add option to forword text messages as well

    opened by ScriptBuddy16 5
  • Bug i guess ?

    Bug i guess ?

    So I have generated pyrogram V2 string session from your repl link but still got this error here But when I use old string session it's working fine :( And yes I am using latest code . Help please

    opened by prono69 4
  • Error shown after recent update

    Error shown after recent update

    2022-07-25T11:55:49.332878+00:00 app[api]: Scaled to [email protected]:Free by user [email protected] 2022-07-25T11:55:53.013978+00:00 heroku[worker.1]: Starting process with command python3 main.py 2022-07-25T11:55:53.604937+00:00 heroku[worker.1]: State changed from starting to up 2022-07-25T11:55:55.309463+00:00 app[worker.1]: Traceback (most recent call last): 2022-07-25T11:55:55.309478+00:00 app[worker.1]: File "main.py", line 1, in 2022-07-25T11:55:55.309568+00:00 app[worker.1]: from bot import Bot 2022-07-25T11:55:55.309576+00:00 app[worker.1]: File "/app/bot.py", line 4, in 2022-07-25T11:55:55.309644+00:00 app[worker.1]: from user import User 2022-07-25T11:55:55.309652+00:00 app[worker.1]: File "/app/user.py", line 4, in 2022-07-25T11:55:55.309712+00:00 app[worker.1]: from pyrogram.enums import ParseMode 2022-07-25T11:55:55.309738+00:00 app[worker.1]: ModuleNotFoundError: No module named 'pyrogram.enums' 2022-07-25T11:55:55.505290+00:00 heroku[worker.1]: Process exited with status 1 2022-07-25T11:55:55.575429+00:00 heroku[worker.1]: State changed from up to crashed 2022-07-25T11:55:55.579355+00:00 heroku[worker.1]: State changed from crashed to starting 2022-07-25T11:55:58.677351+00:00 heroku[worker.1]: Starting process with command python3 main.py 2022-07-25T11:55:59.272310+00:00 heroku[worker.1]: State changed from starting to up 2022-07-25T11:56:01.209885+00:00 heroku[worker.1]: Process exited with status 1 2022-07-25T11:56:01.003330+00:00 app[worker.1]: Traceback (most recent call last): 2022-07-25T11:56:01.003346+00:00 app[worker.1]: File "main.py", line 1, in 2022-07-25T11:56:01.003416+00:00 app[worker.1]: from bot import Bot 2022-07-25T11:56:01.003425+00:00 app[worker.1]: File "/app/bot.py", line 4, in 2022-07-25T11:56:01.003484+00:00 app[worker.1]: from user import User 2022-07-25T11:56:01.003493+00:00 app[worker.1]: File "/app/user.py", line 4, in 2022-07-25T11:56:01.003552+00:00 app[worker.1]: from pyrogram.enums import ParseMode 2022-07-25T11:56:01.003571+00:00 app[worker.1]: ModuleNotFoundError: No module named 'pyrogram.enums' 2022-07-25T11:56:01.278457+00:00 heroku[worker.1]: State changed from up to crashed

    opened by HithaishiDesai 2
  • state changed from up to crashed

    state changed from up to crashed

    2022-05-27T19:45:18.076038+00:00 app[worker.1]: is_authorized = await self.connect()

    2022-05-27T19:45:18.076048+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/pyrogram/methods/auth/connect.py", line 39, in connect

    2022-05-27T19:45:18.076109+00:00 app[worker.1]: await self.load_session()

    2022-05-27T19:45:18.076119+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/pyrogram/client.py", line 677, in load_session

    2022-05-27T19:45:18.076320+00:00 app[worker.1]: await self.storage.open()

    2022-05-27T19:45:18.076330+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/pyrogram/storage/memory_storage.py", line 38, in open

    2022-05-27T19:45:18.076397+00:00 app[worker.1]: dc_id, test_mode, auth_key, user_id, is_bot = struct.unpack(

    2022-05-27T19:45:18.076425+00:00 app[worker.1]: struct.error: unpack requires a buffer of 267 bytes

    2022-05-27T19:45:18.304373+00:00 heroku[worker.1]: Process exited with status 1

    2022-05-27T19:45:18.368186+00:00 heroku[worker.1]: State changed from up to crashed

    I deployed this bot but it always shows this error. If anybody knows then please help.

    opened by Littletonar 2
  • Sir please add support to deploy to railway because the app doesn't restart every 24 hrs

    Sir please add support to deploy to railway because the app doesn't restart every 24 hrs

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    opened by HithaishiDesai 2
  • Feature request

    Feature request

    Hello Developer. Thanks for such a wonderful Bot. It helped me a lots. Please add a feature that can forward Link - Bold - italic in a caption. https://docs.pyrogram.org/api/types/MessageEntity.html#pyrogram.types.MessageEntity

    opened by Magneto-noob 2
  • Caption which is a great feature that will save much time

    Caption which is a great feature that will save much time

    Clone bot I am using it always for forwarding files The caption feature is also awesome /setcaption {filename} ▱▰▱▰▱▰▱▰▱▰▱▰ Size: {filesize}

    𝗠𝗼𝗿𝗲 𝗠𝗼𝘃𝗶𝗲𝘀 ➖@ownerchannel➖ 𝗠𝗮𝗶𝗻 𝗰𝗵𝗮𝗻𝗻𝗲𝗹 ➖@ownerchannel2➖ Is there any way to add custom caption like this.... It's very useful..... Please bro Then i could save hours editing captions.... ☺️

    opened by mujuaj 2
  • Please consider these features

    Please consider these features

    Hello! Thank you for developing this bot. Is very useful and has some nice features built-in. I have some suggestions for further improvements.

    1. Please add the possibility to forward text messages. In some channels, the files have gibberish names, no captions and the only way to know what is all about is from a text message that is put before them.

    2. Most files in TG have multiple underscores in names, is possible to remove them and replace them with a space when forwarding? Maybe with regex, useful for removal or replacement of other undesired things from names or captions.

    3. For videos and audios uploaded as files in the source channel, is possible to forward them as videos and audios (streamable) to the destination?

    4. The way the caption feature is working right now is causing some problems. If I let the caption setting on, the files captioned are forwarding as such but the ones uncaptioned remain uncaptioned. If I choose filename as the caption, all files are forwarded captioned but the ones already captioned lose their original caption and instead are captioned with the filename, which is bad in the case of gibberish names.

    Is possible to combine the two options? Let the files captioned pass as such and only caption with the filename the files without captions.

    1. When a user chooses the source and target chats there is a message that informs about chat names and time window to complete. Please add an option to disable that message. After a time the user has learned how to use the bot.

    2. It would be useful that the bot remembers the source-target pairs so the users choose from a list. Also an option for friendly names in the case of private chats so the user could rapidly choose from a list of already used chats for source and target.

    opened by tissole 2
  • unable to add target id, please add a bit more detailed example. Thank you in advance.

    unable to add target id, please add a bit more detailed example. Thank you in advance.

    unable to add source id, please add a bit more detailed example. Thank you in advance. Here is message, but not succeed yet.

    𝙎𝙚𝙨𝙨𝙞𝙤𝙣 𝙪𝙨𝙚𝙧 𝙞𝙨 𝙣𝙤𝙩 𝙞𝙣 𝙩𝙝𝙚 𝙩𝙖𝙧𝙜𝙚𝙩 𝙘𝙝𝙖𝙩 𝙜𝙞𝙫𝙚𝙣

    opened by heitumo 1
  • Bot doesn't prevent duplicates (files with same content but different names)

    Bot doesn't prevent duplicates (files with same content but different names)

    Normally, people consider duplicates when 2 or more files have the same content. I assumed that this bot will do the same, but this is not the case. The bot will only prevent duplicates that have the same name and same content, but will let pass the files with different names and same content.

    The file_unique_id is not suitable for preventing duplicates (same content), only prevents duplicates with same file names and same content. You can check for yourself. Create 2 identical text files (same name and same content, check md5 hashes to be sure).

    Upload them to @RawDataBot and check file_unique_id. It will be the same because files have the same name and the same content.

    Now keep the same content, only rename files differently. Upload them to @RawDataBot and check their file_unique_id. It will be different, even if the files have the same content.

    So the bot can only prevent duplicates in a limited case, when files have the same name and content. It will not prevent duplicates that have same content and different names. This should be made clear, so the users understand the limits of this bot.

    I'm wonder if there is another method to prevent duplicates. You know if Telegram stores the md5 hashes for files? It will be useful to use them to prevent duplicates.

    opened by art435 2
  • Option for custom delay !

    Option for custom delay !

    Discussed in https://github.com/m4mallu/clonebot/discussions/86

    Originally posted by HithaishiDesai August 17, 2022 Good Afternoon Sir, please add custom seconds option in delayed forwarding...

    Thanks Sir 🙏🏻❤️

    opened by m4mallu 0
Releases(1.6)
  • 1.6(Sep 18, 2022)

    This will be a last stable release in this bot version 1.x and pyrogram version 2.x

    Important specifications in this release will be...

    • Bot required a PostgreSQL database.
    • Bot can only be used by its session user.
    • User session is performed for cloning from private and public chats.
    • All the variable inputs will be validated by the message id of a force reply.
    • Indexing & purging functions are performed before cloning (option to skip).
    • Clone function will be initiated from first to last message id of the target chat.
    • File type selection will be done with callback buttons.
    • Set custom caption by sending a formatted text to the bot chat.
    • Find source - target chat id and message id by forwarding any message from the concerned chat.
    • Terminate session facility.

    Next release shall be an initial commit with version 2.x and pyrogram version 2.x with the following specifications

    • Database less design.
    • Variable inputs by optimised method.
    • Single user (session user) operated design.
    • Bot session for private chat cloning.
    • Custom caption with different layouts.
    • Indexing and purging functions will be removed as another bot is already there for the same.
    • Duplicate filter can be configured in settings.

    Thanks for the suggestions and reports. Subscribe my channel to get updates of my works.

    Source code(tar.gz)
    Source code(zip)
  • 1.5(Jul 16, 2022)

  • 1.4(Jul 25, 2021)

    Bot Won't clone duplicate files:

    New Features:-

    • Target chat indexing
    • Target chat duplicate purging
    • Save target chat index config.

    Bot will:-

    • Index files in target chat.
    • Save index config. fore future.
    • Ask for purge after indexing.
    • Check the index while cloning.
    • Update the index after cloning.

    Read the documentation for more.

    N'Joy Cloning.

    Source code(tar.gz)
    Source code(zip)
  • 1.3(Jul 24, 2021)

  • 1.2(Jun 8, 2021)

    Accepted all chat links Added more file types Clone from message-ids Session string protection Clone percentage & process graph, Auto calculation od message-ids Delayed cloning Caption on-off or file name as a caption. and a lot more features Detailed documentation can be seen HERE

    Source code(tar.gz)
    Source code(zip)
  • 1.1(Jun 6, 2021)

    This telegram bot can copy media from public and private chats to your personal chat[use username as source incase of public chat, session user doesn't need to be in the source chat]. Presently, real-time checking of the chat ids is added to the bot. Code updated to avoid bot restarting when in completion or cancellation of the main operation that a public bot with this repo can run in multiple sessions parallelly. Future updates will be pushed in the next release. Limitations: Clone from message-ids is not available now. The same will be added with lots of more updates on the next release.

    Source code(tar.gz)
    Source code(zip)
Owner
Renjith Mangal
🕴🏼Always quest for ma Kick 🕴🏼Keeping my demon dormant🕴🏼
Renjith Mangal
A simple object model for the Notion SDK.

A simplified object model for the Notion SDK. This is loosely modeled after concepts found in SQLAlchemy.

Jason Heddings 54 Jan 02, 2023
CryptoApp - Python code to pull wallet balances from a variety of different chains through nothing other than your public key.

CryptoApp - Python code to pull wallet balances from a variety of different chains through nothing other than your public key.

Zach Frank 4 Dec 13, 2022
:lock: Python 2.7/3.X client for HashiCorp Vault

hvac HashiCorp Vault API client for Python 3.x Tested against the latest release, HEAD ref, and 3 previous minor versions (counting back from the late

hvac 1k Dec 29, 2022
Find people to play tennis with.

40Love 40Love is a full-stack web application that helps tennis players find hits at public tennis courts. Players can select public courts on the map

Tanner Schmutte 27 Jun 08, 2022
Бот - Гуль для твоего телеграм аккаунта

Я - Гуль (бот), теперь работает в чатах Отблагодарить автора за проделанную работу можно здесь Помощь с установкой тут Установка на Андроид После уста

57 Nov 06, 2022
Jalali version of python calendar :date:

jcalendar jcalendar is Jalali implementation of Python's calendar module Status Install pip install jcalendar Documents This module almost follows Py

Iman Kermani 7 Aug 09, 2022
A Telegram Bot That Provides Permanent Download Links For Sent Files.

FileStreamBot A Telegram bot to all media and documents files to web link . Report a Bug | Request Feature Demo Bot: 🍁 About This Bot : This bot will

Flux Inc. 1 Nov 02, 2021
Powerful Telegram bot to countdown to your important events in any group chat.

Powerful Telegram bot to countdown to your important events in any group chat. Live countdown timer.

118 Dec 30, 2022
A Telegram bot that scrapes websites for available vaccination appointments to notify users. (German)

@dachau_impf_bot 🇬🇧 A Telegram bot to check the contents of https://termin.dachau-med.de for available slots and inform users of the available dates

1 Nov 21, 2021
A heraldry-related bot, designed for the Heraldry Community.

Heraldtron A heraldry-related bot, designed for the Heraldry Community. Requirements Python 3.9+ discord.py aiohttp (comes installed with discord.py)

1 Mar 31, 2022
Python client for Invidious' JSON API

Python project template A template for new Python projects. Features Automatically builds PDoc documentation & uploads package to PyPI on new GitHub r

Kevo 2 Jun 05, 2022
A Simple Telegram Bot that can Download Files From Mega.nz and Upload It to Telegram

MegaDL-Bot A Simple Telegram Bot By @mrkpbots to Download Files From Mega.nz and Upload It to Telegram Features No Login Required All Mega.nz File Lin

MRKP BOTS 5 Feb 20, 2022
A Telelgram Bot to Extract Text from an Image

Text-Scanner-OCR A Telelgram Bot to Extract Text from an Image Configs Vars API_KEY: Your API_KEY from OCR Space GROUP: Your Group Username without '@

ALBY 8 Feb 20, 2022
Skyscanner Python SDK

Skyscanner Python SDK Important As of May 1st, 2020, the project is deprecated and no longer maintained. The latest update in v1.1.5 includes changing

Skyscanner 118 Sep 23, 2022
Home Assistant for Opendata CWB. Get the weather forecast of the city in Taiwan.

Home assistant support for Opendata CWB. The readme in Traditional Chinese. This integration is based on OpenWeatherMap (@csparpa, pyowm) to develop.

11 Sep 30, 2022
hydrotoolbox is a Python script for hydrologic calculations and analysis or by function calls within Python.

hydrotoolbox is a Python script for hydrologic calculations and analysis or by function calls within Python.

Tim Cera 4 Aug 20, 2022
Use Node JS Keywords In Python!!!

Use Node JS Keywords In Python!!!

Sancho Godinho 1 Oct 23, 2021
Python client for the Datadog API

datadog-api-client-python This repository contains a Python API client for the Datadog API. The code is generated using openapi-generator and apigento

Datadog, Inc. 58 Dec 16, 2022
b2blaze

b2blaze Welcome to the b2blaze library for Python. Backblaze B2 provides the cheapest cloud object storage and transfer available on the internet. Com

George Sibble 603 Jan 03, 2023
Получение интересной информации о любой пиццерии Додо

dodopizza-abuse Получение инфорации о выбранной пиццерии Додо Установка и запуск на Linux Устанавливаем git и python: apt-get update && apt-get -y ins

Хозя 24 Nov 02, 2022