Этот проект представляет собой прокси-сервер для работы с вложениями Discord. Он предоставляет следующие возможности:
- 📤 Загружать изображения в канал Discord.
- 📥 Получать вложения напрямую в виде файла, а не ссылки на файл.
Убедитесь, что Poetry установлен. Если нет, выполните следующую команду для установки:
pip install poetry
После этого установите зависимости проекта:
poetry install
Создайте файл .env
или задайте переменные окружения:
DISCORD_TOKEN=<ваш токен Discord>
PORT=8000
DEV_MODE=false
DEFAULT_CHANNEL_ID=1319786706177884232
poetry run python main.py
Сервер будет запущен по адресу: http://0.0.0.0:8000.
Получает вложение Discord напрямую в виде файла.
url
(string): URL вложения из Discord.
curl "http://0.0.0.0:8000/?url=https://cdn.discordapp.com/attachments/<channel_id>/<message_id>/<filename>"
Возвращает содержимое файла напрямую.
Загружает изображение в указанный канал Discord.
file
(multipart/form-data): Файл для загрузки.
curl -X POST "http://0.0.0.0:8000/upload/" \
-F "file=@/path/to/your/image.png"
{
"url": "https://cdn.discordapp.com/attachments/<channel_id>/<message_id>/<filename>"
}
DISCORD_TOKEN
: Токен вашего бота Discord.PORT
: Порт для запуска приложения (по умолчанию:8000
).DEV_MODE
: Если установлено вtrue
, включает режим разработки (дополнительная отладочная информация).DEFAULT_CHANNEL_ID
: ID канала Discord для загрузки изображений.
Для использования Nginx в качестве обратного прокси добавьте следующий блок конфигурации в файл вашего Nginx:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Перезапустите Nginx, чтобы применить изменения:
sudo systemctl restart nginx
Теперь ваше приложение доступно по адресу http://yourdomain.com
.
- Убедитесь, что токен Discord имеет права на отправку сообщений и загрузку файлов в канал.
- Кэширование работает с ограничением в 1000 записей и временем жизни 1 час.
Этот проект распространяется под MIT License.