Skip to content

Kol-Dayn/Database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗄 Приватный файловый менеджер, работающий через Telegram

Данный Telegram бот предназначен для удаленного управления файлами на ПК или сервере. Идеально подходит для личного и командного использования. Бот предлагает удобный, интуитивно понятный интерфейс, умную систему доступа, логирования и администрирования. Все данные о пользователях, папках и файлах хранятся в MongoDB, а сами файлы — на диске вашего ПК или удаленного сервера.

📋 Лицензия

Этот проект распространяется на условиях лицензии Apache-2.0 license.
Полный текст лицензии можно найти в файле LICENSE.

💪 Возможности бота

Ниже представлен список всех возможностей бота:

  • Система аккаунтов для всех пользователей.

    • Только администратор может зарегестрировать нового пользователя.
    • Пользователь авторизируется по установленному паролю.
    • Возможность завершать сессии.
  • Отправка файлов на свой ПК или удаленный сервер.

    • До 50 МБ при использовании облачных серверов Telegram.
    • До 2 ГБ при использовании Telegram Local Bot API.
  • Загрузка любых типов файлов (не объяязательно через скрепку).

    • Фото.
    • Видео.
    • GIF.
    • Любые документы.
  • Управление файлами и папками.

    • Переименование объекта.
    • Удаление объекта.
    • Добавление файлов в папку.
    • Скачивание файлов из папки.
  • Изменение статуса папки (для владельца и администратора).

    • Публичная — папкой может управлять любой пользователь.
    • Приватная — папкой может управлять только её владелец и администратор.
  • Изменение типа папок (для администратора).

    • Обычная — обычное состояние папки (не зависит от статуса папки).
    • Замороженная — тип папки, когда ей может управлять только администратор.
  • Удобная система логирования (для владельца и администратора).

    • Логи настраиваются отдельно для каждой папки.
    • Видны все действия с папкой (переименование, добавление файлов).
    • Видны все действия с файлами внутри неё (удаление, переименование).
    • Самоотчищение логов при достижении лимита (100 действий).
  • Умное меню управления пользователями для администратора.

    • Блокировка/Разблокировка пользователяя.
    • Добавление в БД/Удаление из БД.
    • Отправка личных сообщений пользователю.
    • Смена пароля пользователю.
    • Смена статуса пользователю (Пользователь/Администратор).
    • Установление лимита на создание папок.
    • Запреты на: удаление, добавление, скачивание, редактирование.

📁 Файлы проекта

Ниже представлен список всех файлов проекта с подробным описанием их назначения и содержимого:

  • main.py — Основной файл, содержащий код бота.

  • first.py — Файл, для записи ПЕРВОГО пользователя в MongoDB.

  • .env — Файл со всей SECRET информацией бота (TOKEN, MongoDB, Local Bot API).

  • requirements.txt - Список всех библиотек, которые нужны для полноценной работы бота.

  • start.jpg - Изображение в сообщении при команде /start.

🍀 Установка и запуск бота

1. Установите все необходимые библиотеки из файла requirements.txt 📥

cd /путь/к/вашему/проекту
pip install -r requirements.txt

В консоли должно появиться сообщение об установке библиотек.


2. Создайте файл .env и заполните данные ✏️

TELEGRAM_BOT_TOKEN=ТОКЕН_БОТА
TELEGRAM_BOT_API_MODE=cloud_или_local
TELEGRAM_BOT_API_URL=ССЫЛКА_НА_СЕРВЕР_LOCAL_BOT_API
MONGO_URI=mongodb://localhost:27017/
DB_NAME=ИМЯ_БД

Что выбрать в строке TELEGRAM_BOT_API_MODE? cloud - использование облачных серверов Telegram (Лимит на загрузку до 2 ГБ)
local - использование Telegram Local Bot API (Лимит на загрузку до 50 МБ)

Если используете cloud, строку TELEGRAM_BOT_API_URL можно оставить пустой.



3. Запустите файл first.py 👨‍💻

cd /путь/к/вашему/проекту
python first.py

Введите все данные, которые запросит программа (Это нужно для добавления вас в БД, как администратора).


4. Запустите основной файл main.py 🏁

cd /путь/к/вашему/проекту
python main.py

Поздравляю! Бот запущен. Проверьте его работу, отправив ему команду /start

😇 Авторство

Этот проект был создан с нуля, начиная с самой основы и до полноценной реализации. Автор проекта — @ibuzy
Я продолжаю совершенствовать и обновлять функциональность, но если у Вас есть предложения по улучшению бота, пожалуйста, напишите мне их в Telegram

About

Приватный файловый менеджер, работающий через Telegram

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages