Coder Social home page Coder Social logo

m4mallu / uniquify Goto Github PK

View Code? Open in Web Editor NEW
59.0 4.0 54.0 30 KB

Uniquify is a Telegram bot interface used to remove duplicate media files from a chat

License: GNU General Public License v3.0

Python 99.83% Procfile 0.17%
telegram duplicate media removing robot

uniquify's Introduction

Uniquify

Uniquify is a Telegram interface bot that can delete the duplicate media files from a chat.

Process

  • Bot is an interface only.
  • Session user is doing the job.
  • So, Bot doesn't need to be in the chat.
  • Session user need to be an admin in the chat with Delete messages privilege
  • Commands can only run by the Authorized users.
  • Add chat id using command - Eg: /chat -100123456789 (-100 not mandatory)
  • Add a delay to the process - Eg: /delay 2 (Delay not mandatory)
  • Finally, run /purge to start the process.
  • Presently supported media types are documents, video and audio.
Deploy

1. Deploy to Heroku


2. Deploy to VPS
  • Open a Linux Terminal and run the following commands.
  • git clone https://github.com/m4mallu/uniquify
  • cd uniquify
  • Create a config.py file with the mandatory variables.(Refer sample_config.py)
  • Run the following commands in the same terminal opened.
  • virtualenv -p python3 venv
  • . ./venv/bin/activate
  • pip3 install -r requirements.txt
  • python3 main.py
Mandatory Variables

API_HASH            -   Your API Hash from my.telegram.org
API_ID              -   Your API ID from my.telegram.org
BOT_TOKEN           -   Your Bot Token from @BotFather
AUTH_USERS          -   Create a list of User Ids to use this bot
TG_USER_SESSION     -   Your Telegram User Session String
Generate User Session

@BotFather Commands

start   -   Check alive
chat    -   Add chat id (Admin Only)
delay   -   Add a process delay (Admin Only)
purge   -   Initiate the process (Admin Only)
Developer

GPL3
ย 

Donate


Buy me a coffee for the work !


Credits

License

GPL3

uniquify's People

Contributors

m4mallu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

uniquify's Issues

How the script works?

What are the criteria used by the program to differentiate between files? When 2 files are considered identical? If 2 files have the same content but different names, these are considered identical? What if 2 files have the same name and size but different content?

So basically this script uses names and size or something more precise like a hash function?

P.S Please activate the Discussions.

Error when i start main.py

Traceback (most recent call last):
File "/docker/uniquify/main.py", line 3, in
Bot().run()
File "/docker/uniquify/lib/python3.10/site-packages/pyrogram/methods/utilities/run.py", line 54, in run
run(self.start())
File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
return future.result()
File "/docker/uniquify/bot.py", line 38, in start
self.USER, self.USER_ID = await User().start()
File "/docker/uniquify/user.py", line 23, in start
await super().start()
File "/docker/uniquify/lib/python3.10/site-packages/pyrogram/methods/utilities/start.py", line 52, in start
is_authorized = await self.connect()
File "/docker/uniquify/lib/python3.10/site-packages/pyrogram/methods/auth/connect.py", line 39, in connect
await self.load_session()
File "/docker/uniquify/lib/python3.10/site-packages/pyrogram/client.py", line 677, in load_session
await self.storage.open()
File "/docker/uniquify/lib/python3.10/site-packages/pyrogram/storage/memory_storage.py", line 38, in open
dc_id, test_mode, auth_key, user_id, is_bot = struct.unpack(
struct.error: unpack requires a buffer of 267 bytes

Bot is not deleting duplicates.

I know bot is deleting files by uid but sometimes this is not enough.

Can you add a feature which allows us to make a choice between uid and "if file name and file sizes are exactly same, delete duplicates"

That would be really useful, thank you!

ValueError: invalid literal for int() with base 10: ''

after running main.py
iam getting this errror

...
File "/home/admin/Downloads/uniquify/config.py", line 20, in Config
APP_ID = int(os.environ.get("1123451", ""))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ''

I encountered an error

I'm glad that I found this program, which is exactly what I need to clear my cluttered channel. I installed this on Windows 10, followed all the steps but when I run "py main.py" I get this error:
https://nekobin.com/waguyozefi

How to fix it?

`

can we use it in channel?

for session,they are asking OTP is it safe? and can you give link of already deployed bot from this repo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.