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
WeChat SDK for Python

___ __ _______ ________ ___ ___ ________ _________ ________ ___ ___ |\ \ |\ \|\ ___ \ |\ ____\|\ \|\ \|\ __ \|\___

wechatpy 3.3k Dec 26, 2022
Save data from Instagram takeout to a SQLite database

instagram-to-sqlite Save data from a Instagram takeout to a SQLite database. Mise En Place git clone https://github.com/gavindsouza/instagram-to-sqlit

gavin 8 Dec 13, 2022
Git Plan - a better workflow for git

git plan A better workflow for git. Git plan inverts the git workflow so that you can write your commit message first, before you start writing code.

Rory Byrne 178 Dec 11, 2022
Azure Neural Speech Service TTS

Written in Python using the Azure Speech SDK. App.py provides an easy way to create an Text-To-Speech request to Azure Speech and download the wav file.

Rodney 1 Oct 11, 2021
Fairstructure - Structure your data in a FAIR way using google sheets or TSVs

Fairstructure - Structure your data in a FAIR way using google sheets or TSVs. These are then converted to LinkML, and from there other formats

Linked data Modeling Language 23 Dec 01, 2022
Cookies is a project inspired by python cookiecutter but used for terraform generation.

Introduction Cookies is a project inspired by python cookiecutter but used for terraform generation. How to run your terraform After you download your

Digger 6 Mar 14, 2022
Ever wanted a dashboard for making your antispam? This is it.

Ever wanted a dashboard for making your antispam? This is it.

Skelmis 1 Oct 27, 2021
Exporta archivos masivamente del TEC Digital.

TEC Digital Files Exporter Script que permite exportar los archivos de cursos del TEC Digital del Instituto Tecnolรณgico de Costa Rica, debido al borra

Joseph Vargas 22 Apr 08, 2021
Translator based on Google API

Yakusu Toshiko Translator based on Google API. Instance of this bot is running as @yakusubot. Features Add a plus to a language's name to show an orig

Arisu W. 2 Sep 21, 2022
Bulk convert image types with Python

Bulk Image Converter ๐Ÿ”ฅ Helper script to convert a folder's worth of images from one filetype to another, and optionally delete originals Use Setup /

1 Nov 13, 2021
Graviti-python-sdk - Graviti Data Platform Python SDK

Graviti Python SDK Graviti Python SDK is a python library to access Graviti Data

Graviti 13 Dec 15, 2022
Create custom Vanity URLs for Discord without 30 boosts

CustomVanity - Made by udp#6666 aka Apolo - OpenSource Custom Discord Vanity Creator How To Use Open CustomVanity.py Write your server invite code Wri

apolo 17 Aug 23, 2022
Create CDK projects with projen

The Projenator: I'll be back! Description This is a CDKv2 project that takes the grind out of setting up new cdk projects/implementations by using aut

Andrew 2 Dec 11, 2021
StudyLion is a Discord bot that tracks members' study and work time while offering members to view their statistics and use productivity tools such as: To-do lists, Pomodoro timers, reminders, and much more.

StudyLion - Discord Productivity Bot StudyLion is a Discord bot that tracks members' study and work time while offering members the ability to view th

45 Dec 26, 2022
A Telegram bot for Minecraft names

MCTelegramBot About this project This bot allows you to see data about minecraft names in Telegram, it has a few commands such as: /names - Show dropp

Kami 5 May 14, 2022
A python wrapper for the mangadex API V5. Work in progress

mangadex A python wrapper for the mangadex API V5. It uses the requests library and all the aditional arguments can be viewed in the Official Mangadex

Eduardo Ceja 27 Dec 14, 2022
=>|<= the MsgRoom bot for Windows 96

=|= bot A MsgRoom bot in Python 3 for Windows96.net. The bot joins as =|=, if parameter name_lasts is not true and default_name is =|=. The full

Larry Holst 2 Jun 07, 2022
Seamlessly Connecting Notion Database with Python Pandas DataFrame

notion-df: Seamlessly Connecting Notion Database with Pandas DataFrame Please Note: This project is currently in pre-alpha stage. The code are not app

Shannon Shen 38 Dec 28, 2022
Generate and Visualize Data Lineage from query history

Tokern Lineage Engine Tokern Lineage Engine is fast and easy to use application to collect, visualize and analyze column-level data lineage in databas

Tokern 237 Dec 29, 2022
An unoffcial python API client for primeuploads.com

primeuploads-py An unoffcial python API wrapper for primeuploads.com Installation pip3 install primeuploads-py Usage example from prime import PrimeUp

W4RR10R 41 Dec 05, 2022