※ 본 글의 내용은 초안 제작 시 사용했던 정보들입니다. 2026.09.30 기점으로 3차 업데이트가 진행되어 완전히 개편되었습니다. github 내용이 정확하니 아래 글은 참고만 하시길 바랍니다.
✔️ 외부 이모티콘을 디스코드 채팅에서 사용
✔️ 친구들과 나 모두 사용 가능
✔️ 원하는 이모티콘을 쉽고 빠르게 검색
✔️ 검색 결과에서 원하는 이모티콘 선택 가능
그 외 사항들은 디스코드이모지봇개요.md 참고

apt install -y vim wget git unzip
apt install -y sqlite3
apt install -y python3.14-venv
mkdir /opt && cd /opt
git clone https://github.com/No-Yeah/DiscordEmojiBot.git
cd DiscordEmojiBot
unzip discord-emoticon-bot
※ 디스코드 봇은 기생성 되어 있어야 합니다.
👉 🤖봇 생성 링크
cd /opt/DiscordEmojiBot/discord-emoticon-bot
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp -arp .env.example .env
vi .env
===
# DISCORD_BOT_TOKEN= 복사한 토큰 붙여넣기
===
alembic upgrade head
python -m app.main
설치 과정 스크립트화
Pack 단위 삭제 필요
감정 태그 목록을 직접 편집하는 기능 추가
검색 후 확인하는 과정 간소화
봇으로 출력하는 이모티콘의 크기 확대 및 고정
디스코드 이모티콘 봇
- 변수 설명
$url ) 이모티콘 원본 링크
예시: https://링크1
예시: https://링크2
$name ) 이모티콘 팩의 이름, 사용자가 add-pack 할 때 직접 할당. 미할당 시 에러 발생하여 추가 안 됨
$eName ) 이모티콘 팩으로 추가할 때 개별 이모티콘에 할당되는 이름, 사용자가 할당한 $name-1 이런식으로 자동 부여
$tag ) 감정을 나타내는 태그 값으로 한글 문자열만 허용
$group ) 같은 시리즈의 이모티콘이 나오는 경우 group 으로 묶을 수 있음
$user ) 봇을 사용하는 디스코드 유저 명
$addUser ) 이모티콘 단일로 추가할 때 추가한 디스코드 유저 정보. 웹으로 추가한 경우 WEB 으로 기재
- 이모티콘 봇 기본 디스코드 명령어
1) 기본 명령어
/e
2) 옵션 - 이모티콘 팩 추가
add-pack $url $name
3) 옵션 - 이모티콘 팩 조회
find $문자열
$문자열이 대소문자 무관하게 + 일부 문자라도 포함된 경우 검색 결과로 출력
$문자열은 $name 또는 $tag 에서 검색
4) 옵션 - 이모티콘 팩 삭제
del-pack $name 또는 $tag 또는 $group
해당 이름이나 태그, 그룹 값을 가진 모든 이모티콘 삭제
5) 옵션 - 이모티콘 1개 삭제
del $eName
해당 이모티콘 명의 이모티콘을 삭제
6) 옵션 - 태그 분류 명만 삭제
del $tag
해당 태그 명만 삭제 (태그로 분류된 이모티콘들은 태그만 없어질 뿐 삭제되지 않음)
7) 옵션 - 그룹 명만 삭제
del $group
8) 옵션 - 단일 이모티콘 추가
add $group $name $eName $tag
$eName은 반드시 NULL이면 안 됨
- 구조
이모티콘 봇은 1:1 디스코드 채팅 메시지 방 또는 특정 서버에 소환하여 사용이 가능함
봇은 /e 로 호출하며 뒤에 원하는 옵션을 사용 가능함
이모티콘 크기는 원본 이미지 크기가 아니라 내가 주는 이미지에 있는 이모티콘 크기만큼 크게 출력되어야 함
이모티콘 작업이 완료되면 자동으로 채팅 내역이 사라지고 이모티콘 출력만 남음
관리자 웹이 있으며, 이모티콘이나 태그의 추가·편집·삭제가 가능함
- 관리자 웹
1) 기본 화면 - 대시보드
※ 현황이란? 총 N, 신규 N, 삭제 N (오늘 날짜 특히, 일 기준)
등록된 이모티콘 현황 표시 (크게)
허용된 $user 현황 표시 (작게)
당일 기준 신규 등록한 이모티콘 목록 별도 표시 (작게)
하루·일주일·한달 중 어느 기준인지 탭을 통해 선택할 수 있으며, 사용률이 높은 $user와 이모티콘 표시 (작게)
2) 이모티콘 관리 화면
검색·추가·편집·삭제가 가능
등록된 이모티콘 리스트 표시
리스트는 기본적으로 add-date 즉 no가 1번인 것부터 top down 방식으로 출력 됨
쿼리 라인에 있는 값을 누르면 그 기준으로 정렬 가능 한 번 더 누르면 오름차순으로 변경 가능
처음 바로 보여지는 쿼리 라인 1 : $No $group $name $url $add-date
쿼리 라인 1 클릭 시 하단에 펼쳐지는 라인 2 리스트 : $image $eName $tag 순이고 $image는 실제 이미지가 보임
※ 단일 추가 이모티콘의 경우 라인 1 : $No $group $name $eName $tag $add-date $addUser 순이고 라인 2 없음
$tag 클릭 시 이모티콘에 할당된 태그 값 편집 가능, 태그는 여러 개를 붙일 수 있음
$group 클릭 시 이모티콘에 할당된 그룹 값 편집 가능, 그룹은 여러 개를 붙일 수 있음
상단에 작은 버튼으로 그룹관리, 태그관리 메뉴 추가
그룹관리: 등록된 그룹 명 출력, 그룹명 편집·추가·삭제·검색 가능. 하단에 속한 이모티콘 팩이나 단일이 몇 개인지 출력.
태그관리: 등록된 태그 목록 출력, 태그명 편집·추가·삭제·검색 가능. 해당 태그로 분류된 이모티콘이 몇 개인지 출력.
3) 연결된 디스코드 유저 관리
$No $user $add-date $권한 출력
가능한지에 따라 구현 여부 결정: 해당 사용자의 권한을 누른다음에 사용 불가처리가 가능한지 확인해보고 불가능하거나 복잡해지면 구현하지 말고 권한 출력만 하는 것으로 변경. 이조차도 불가하다면 그냥 권한을 출력하는 기능 자체를 제거
- 개발 환경
python 활용한 웹, 봇 기능 구현
소스 코드는 github 업로드
Ubuntu 26.04 VM 환경에서 잘 되면 됨
만든 웹, 봇 기능은 모두 systemd daemon으로 만들어서 enable 되어야 함
순서는 Ubuntu 26.04 VM에서 git clone > 스크립트 한 번만 실행. 이 때, botToken 입력 > 모든 설치 완료됨 > 바로 기능 구현 가능