Add encryption.py module with Fernet symmetric encryption implementation. This closes #1.
Cloud Storage Bot 🌥️
A Telegram bot that provides cloud storage functionality, allowing users to upload, download, and manage files through Telegram.
📋 Features
- 🔐 Authentication with password protection
- 📤 Upload files to cloud storage
- 📥 Download files from storage
- 📂 List all stored files
- 🗑️ Delete files
- ✏️ Rename files
- 🚚 Move files between directories
- 📄 Copy files
- 📝 View file metadata
- 🧹 Cleanup old files (30+ days old)
- 📊 View storage statistics
- 📈 Interactive progress animations
🛠️ Installation
-
Clone this repository:
git clone https://github.com/yourusername/cloud-storage-bot.git cd cloud-storage-bot -
Install required dependencies:
pip install -r requirements.txt -
Create a
.envfile in the project root with your Telegram Bot Token:TELEGRAM_BOT_TOKEN=your_bot_token_here -
Run the bot:
python cloud_bot.py
📄 Requirements
- Python 3.7+
- python-telegram-bot
- python-dotenv
Install all dependencies:
pip install python-telegram-bot python-dotenv
🤖 Bot Commands
| Command | Description |
|---|---|
/start |
Start the bot and authenticate |
/help |
Show available commands |
/upload |
Upload a file |
/download |
Download a file |
/list |
List all stored files |
/delete |
Delete a file |
/rename |
Rename a file |
/move |
Move a file |
/copy |
Copy a file |
/metadata |
Show file information |
/cleanup |
Remove files older than 30 days |
/stats |
Show storage statistics |
🔧 Configuration
Edit the following variables in the cloud_bot.py file to customize your bot:
STORAGE_DIR: Local directory for storing filesPASSWORD: Authentication passwordADMIN_USERNAME: Admin username for special privileges
🔒 Security Features
- Password-protected access
- Activity logging
- Session management
- Timestamped operations
- Admin controls
💡 Usage Example
- Start a chat with your bot on Telegram
- Enter
/startto begin - Enter the authentication password
- Use
/helpto see available commands - Upload a file by using
/uploadand then sending a file - Download a file using
/downloadand selecting the file name
📊 Progress Animations
The bot includes interactive progress bars and animations to show:
- File upload progress
- Download preparation
- Cleanup operations
- Authentication process
📝 To-Do
- Add file compression
- Implement user access levels
- Add file sharing functionality
- Create file categories
- Add search functionality
- Implement file encryption
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
👤 Author
Wiktor - @overspend1
🙏 Acknowledgements
Languages
Python
100%