Discord 대화에서 텍스트와 이미지를 생성할 수 있는 ChatGPT 및 DALL-E용 OpenAI 라이브러리를 통합한 간단한 Discord 봇입니다.
문서 살펴보기 »
데모 보기 · 버그 신고 · 기능 요청
이전에 'Aurora AI'로 알려진 Aurora AI는 OpenAI의 GPT-3.5-Turbo 언어 모델을 활용하는 Discord 챗봇입니다. discord.js로 구축되어 대화 형식으로 사용자 입력에 대한 응답을 생성합니다. 단순성을 위해 설계된 이 도구는 Discord 내에서 GPT-3.5-Turbo의 기능을 탐색할 수 있는 훌륭한 도구입니다. 또한 OpenAI가 개발한 이미지 생성 모델인 DALL-E의 사용도 지원하여 자연어 능력과 함께 창의적인 이미지를 생성할 수 있습니다.
(맨 위로)
(맨 위로)
필요한 API 키 얻기
저장소 복제
git clone https://github.com/KrozT/openai-discord.git
패키지 설치
pnpm install
환경 변수에 API 키 추가
DISCORD_API_KEY = <YOUR DISCORD API KEY>
OPENAI_API_KEY = <YOUR OPENAI API KEY>
프로젝트 빌드
pnpm run build
바이너리 시작
pnpm run start
(맨 위로)
프로젝트가 초기화되면 서버에 봇을 추가하고 즐기십시오.
명령 | 옵션 | 유형 | 설명 |
---|---|---|---|
/ping | ephimeral | embed-info | 봇을 핑하여 온라인 상태인지 확인하세요. |
/about | ephimeral | embed-info | 봇에 대한 정보 얻기 |
/help | ephimeral | embed-info | 모든 명령 목록을 가져옵니다. |
/chat | question ephimeral | embed-request embed-response | 봇과 채팅 |
/clear | amount | embed-info | 봇과의 채팅 기록 지우기 |
/image | prompt quantity size ephimeral | embed-request embed-response | 제공된 프롬프트를 사용하여 이미지를 생성합니다. |
옵션 | 명령 | 필수의 | 기본 | 선택 | 설명 |
---|---|---|---|---|---|
question | /chat | true | 없음 | 없음 | 봇에게 물어볼 질문 |
prompt | /image | true | 없음 | 없음 | 이미지를 생성할 텍스트 |
quantity | /image | false | 1 | 1 부터 10 까지 | 생성할 이미지의 양 |
size | /image | false | 256x256 | 256x256 512x512 1024x1024 | 생성할 이미지의 크기 |
amount | /clear | false | 100 | 1 ~ 100 | 지울 메시지의 양 |
ephimeral | /ping /about /help /chat /image | false | false | true false | 다른 사용자의 응답 숨기기 |
(맨 위로)
봇은 각 메시지의 바닥글에 있는 다양한 시각적 포함 코드를 사용합니다. 다음 표에서는 임베드와 해당 색상에 대해 설명합니다.
보행인 | 색상 | 설명 |
---|---|---|
embed-info | 아쿠아 | 봇이 보내는 시스템 메시지 |
embed-error | 빨간색 | 봇의 오류 메시지 |
embed-response | 녹색 | AI 생성 콘텐츠로 봇의 응답 |
embed-request | 금 | 사용자의 요청 |
(맨 위로)
다음 단계에 따라 프로젝트에 새 명령을 추가할 수 있습니다.
testCommand.ts
)을 사용하여 src/bot/commands
폴더에 새 파일을 만듭니다.Command
를 확장하고 모든 메소드를 구현하는 클래스를 작성하십시오.명령 예:
import { Command } from '@/bot/models/command' ;
import { Client , CommandInteraction } from 'discord.js' ;
export class TestCommand extends Command {
public configure ( ) : void {
this . setName ( 'test' ) ;
this . setDescription ( 'Test command' ) ;
this . addEphemeralOption ( ) ; // Add the ephemeral option to the command
}
protected async execute ( client : Client , interaction : CommandInteraction ) : Promise < void > {
await interaction . reply ( { content : 'Test command executed' , ephemeral : this . ephermeral } ) ;
}
}
(맨 위로)
제안된 기능(및 알려진 문제)의 전체 목록을 보려면 공개 문제를 참조하세요.
(맨 위로)
기여는 오픈 소스 커뮤니티를 배우고, 영감을 주고, 창조할 수 있는 놀라운 장소로 만드는 것입니다. 귀하의 기여 에 크게 감사드립니다 .
이를 개선할 수 있는 제안이 있는 경우 저장소를 포크하고 끌어오기 요청을 작성하세요. "enhancement" 태그를 사용하여 이슈를 열 수도 있습니다. 프로젝트에 별점을 주는 것을 잊지 마세요! 다시 한 번 감사드립니다!
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)(맨 위로)
MIT 라이센스에 따라 배포됩니다. 자세한 내용은 LICENSE
참조하세요.
(맨 위로)
(맨 위로)