디스코드 채널에 이미지를 자동으로 게시하는 방법

디스코드 서버를 운영하고 있으며 손가락 하나 까딱하지 않고 특정 채널에 이미지를 정기적으로 자동으로 게시하고 싶으신가요? 이 글에서는 Discord-AIU 도구와 사용자 정의 스크립트를 사용하여 디스코드 채널에 이미지를 자동으로 업로드하는 방법을 보여드리겠습니다.
목차
- 우리의 목표와 도구
- Discord-AIU 설치하기
- 채널을 위한 웹후크 엔드포인트 만들기
- Discord-AUI 설정 구성하기
- 디스코드에 여러 이미지 자동 게시하기
- 정기적으로 실행되도록 Discord-AUI 예약하기
우리의 목표와 도구
애니메이션에 전념하는 디스코드 서버를 운영하고 있다고 상상해 보세요. 매일 새로운 팬 아트를 게시하여 회원들을 참여시키고 싶습니다. 구현하기 쉬운 아이디어처럼 보이죠: 매 24시간마다 이미지를 게시하는 것을 기억하기만 하면 되죠? 아닙니다. 삶은 바쁘고, 어느새 회원들이 매일 애니메이션의 즐거움이 어디로 갔는지 궁금해하며 소리치고 있습니다. 그럴 때 자동화가 하루를 구하고 당신의 정신을 구해줍니다.
디스코드 채널에 이미지를 자동으로 게시하기 위해 도구와 스크립트의 조합을 사용할 것입니다. 우리의 주요 목표는 수동 개입 없이 지정된 디스코드 채널에 정기적으로 이미지를 업로드할 수 있는 시스템을 설정하는 것입니다. 우리는 Discord-AIU(자동 이미지 업로더) 도구를 기반으로 사용하고, 일정 및 이미지 선택 프로세스를 처리하기 위해 몇 가지 사용자 정의 스크립트를 사용할 것입니다.
Discord-AIU 설치하기
이제 우리의 목표를 설명했으니, Discord-AIU를 사용하여 이미지 업로드 봇을 만들어 보겠습니다. 먼저, Discord-AIU를 다운로드해야 합니다. GitHub 저장소에서 최신 버전을 다운로드하여 적절한 위치에 압축을 푸는 것을 추천합니다. 이 도구는 Python으로 개발되었으므로 모든 주요 운영 체제에서 실행할 수 있습니다.

Discord-AIU를 다운로드한 후, 필요한 Python 종속성을 설치해야 합니다. 시스템에 Python이 설치되어 있다면, 터미널이나 명령 프롬프트를 열고 Discord-AIU 디렉토리로 이동한 후 pdm install 명령을 실행하면 됩니다(실행하려면 PDM을 설치해야 할 수도 있습니다).

이 명령은 도구가 제대로 작동하는 데 필요한 모든 패키지, 즉 pillow, python-dotenv 및 requests를 설치합니다.
채널을 위한 웹후크 엔드포인트 만들기
다음 단계는 디스코드 서버에서 웹후크 엔드포인트를 만드는 것입니다. 이 웹후크는 Discord-AIU와 서버 간의 연결 지점입니다. 이를 위해 서버 설정을 열고 통합 탭으로 이동합니다.

웹후크 만들기 버튼을 클릭하면 웹후크를 사용자 정의할 수 있는 옵션이 표시됩니다. 아바타를 편집하고, 이미지가 게시될 채널을 선택하고, 웹후크에 이름을 지정할 수 있습니다.

이 설정을 마친 후, 웹후크 URL 복사 버튼을 클릭하여 새로 생성된 웹후크의 URL을 얻을 수 있습니다.
Discord-AUI 설정 구성하기
웹후크가 설정되었으니 이제 Discord-AIU를 구성할 시간입니다. Discord-AUI 폴더를 열고 src 하위 폴더로 이동합니다.

거기에서 discord_aiu.py라는 파일을 찾아 좋아하는 텍스트 편집기로 엽니다. 파일 상단 근처의 해당 구성 옵션에 웹후크 URL을 붙여넣습니다. 다음과 비슷하게 보일 것입니다:
WEBHOOK_URL = "https://discord.com/api/webhooks//YOUR_WEBHOOK_TOKEN"또한 기본적으로 설정된 FOLDER_PATH 구성 옵션을 선호에 맞게 수정하는 것을 추천합니다. 기본값은 다음과 같습니다:
FOLDER_PATH = './images/'이 경로는 discord_aiu.py 파일의 위치에 상대적입니다. 즉, “images” 폴더는 discord_aiu.py 스크립트와 동일한 디렉토리에 생성되어야 합니다. 파일을 저장하고 지금 폴더를 생성해도 좋습니다.
디스코드에 여러 이미지 자동 게시하기
Discord-AUI가 제대로 작동하는지 테스트하기 위해 새로 지정한 이미지 폴더에 하나 이상의 샘플 이미지를 넣습니다. 그런 다음 터미널이나 명령 프롬프트를 열고 Discord-AIU 디렉토리로 이동한 후 다음 명령을 실행합니다:
pdm run ./src/discord_aiu.py모든 것이 올바르게 설정되었다면, 지정된 디스코드 채널에 모든 테스트 이미지가 곧바로 나타나는 것을 볼 수 있습니다. 도구의 출력도 확인할 수 있으며, 성공적으로 업로드된 이미지 수를 정확히 알려줍니다.

유일한 문제는 명령이 항상 지정된 폴더의 모든 이미지를 일괄 업로드한다는 것입니다. 이는 커뮤니티와 많은 이미지를 공유해야 할 경우 매우 유용하고 시간 절약이 될 수 있지만, 우리의 목표는 정기적으로 디스코드에 이미지를 자동으로 하나씩 업로드하는 것입니다. 다행히도, 우리가 필요한 것은 사용자 정의 스크립트뿐입니다.
정기적으로 실행되도록 Discord-AUI 예약하기
이제 Discord-AUI가 작동하는 것을 확인했으니, 이미지를 정기적으로 게시하는 프로세스를 자동화해 보겠습니다. 다음 작업을 수행하는 스크립트를 만들 것입니다:
- 큐 폴더에서 무작위 파일을 선택합니다.
- 이미지를 폴더로 이동합니다.
- Discord-AUI 도구를 실행합니다.
- 업로드된 이미지를 “업로드됨” 폴더로 이동합니다.
Windows를 사용하는 경우, 새 텍스트 파일을 만들고(메모장을 사용할 수 있습니다) 다음 코드를 복사하여 붙여넣습니다:
$QUEUE_FOLDER="C:\path\to\Discord-AIU\src\queue"
$IMAGES_FOLDER="C:\path\to\Discord-AIU\src\images"
$UPLOADED_FOLDER="C:\path\to\Discord-AIU\src\uploaded"
$DISCORD_AIU_PATH="C:\path\to\Discord-AIU\src\discord_aiu.py"
# 큐에서 무작위 파일 선택
$RANDOM_FILE=Get-ChildItem-Path$QUEUE_FOLDER| Get-Random -Count1
if($RANDOM_FILE){
# 파일을 이미지 폴더로 이동
Move-Item-Path$RANDOM_FILE.FullName -Destination$IMAGES_FOLDER
# Discord-AIU 실행
Set-Location-Path"C:\path\to\Discord-AIU"
pdm run $DISCORD_AIU_PATH
# 처리된 파일을 업로드된 폴더로 이동
$PROCESSED_FILE=Get-ChildItem-Path$IMAGES_FOLDER
Move-Item-Path$PROCESSED_FILE.FullName -Destination$UPLOADED_FOLDER
}스크립트를 script.ps1 또는 유사한 이름으로 저장합니다(.ps1은 PowerShell 스크립트의 확장자입니다).
Linux 및 macOS 사용자는 다음 bash 스크립트로 script.sh 파일을 만들 수 있습니다:
#!/bin/bash
QUEUE_FOLDER="/path/to/Discord-AIU/src/queue"
IMAGES_FOLDER="/path/to/Discord-AIU/src/images"
UPLOADED_FOLDER="/path/to/Discord-AIU/src/uploaded"
DISCORD_AIU_PATH="/path/to/Discord-AIU/src/discord_aiu.py"
# 큐에서 무작위 파일 선택
RANDOM_FILE=$(find"$QUEUE_FOLDER"-type f | shuf -n1)
if[-n"$RANDOM_FILE"]; then
# 파일을 이미지 폴더로 이동
mv"$RANDOM_FILE""$IMAGES_FOLDER"
# Discord-AIU 실행
cd/path/to/Discord-AIU && pdm run "$DISCORD_AIU_PATH"
# 파일을 업로드된 폴더로 이동
mv"$IMAGES_FOLDER"/*"$UPLOADED_FOLDER"
fi필요한 폴더를 생성하고 경로를 해당 위치에 맞게 수정하는 것을 잊지 마세요. 또한 Discord-AIU 폴더의 위치도 수정해야 합니다. 스크립트를 실행 가능하게 만들기 위해 chmod +X /path/to/script 명령을 사용해야 합니다.
마지막으로, script.ps1(Windows) 파일이나 script.sh(Linux 및 macOS) 파일이 자동으로 실행되도록 예약해야 합니다. 하루에 한 번 실행한다고 가정해 보겠습니다.
Windows 사용자라면 시작 메뉴에서 작업 스케줄러를 검색하여 열 수 있습니다. 오른쪽 패널에서 기본 작업 만들기를 클릭하고 작업에 “디스코드 이미지 업로더”와 같은 이름을 지정합니다.

트리거로 매일을 선택하고 원하는 시간을 설정합니다. 작업으로 프로그램 시작을 선택합니다. 프로그램/스크립트 필드에 “powershell”을 입력하고, 인수 추가 필드에 -ExecutionPolicy Bypass -File "C:\path\to\your\script.ps1"를 입력합니다.

Linux 또는 macOS를 사용하는 경우, 터미널을 열고 다음을 입력합니다:
crontab -e크론 작업을 편집합니다(대신 sudo EDITOR=nano crontab -e를 사용하여 Nano 편집기를 사용할 수도 있습니다).
매일 오후 12시(정오)에 스크립트를 실행하도록 새 줄을 추가합니다. 다음과 같이 보일 것입니다:
012***/path/to/your/script.sh편집기를 저장하고 종료합니다.
이 단계가 완료되면 선택한 스크립트가 매일 자동으로 실행되어 디스코드 채널을 새로운 이미지로 신선하게 유지합니다. 새로운 이미지로 큐 폴더를 채워 두는 것을 잊지 마세요. 서버를 더욱 재미있는 곳으로 만들고 싶다면, 라즈베리 파이를 디스코드 라디오 방송국으로 만드는 방법을 배워보세요.
이미지 및 스크린샷 제공: David Morelo.