From e8052b1292e3191d1a7f330cc3ef99acc0d8e4c7 Mon Sep 17 00:00:00 2001 From: sunwoo-j Date: Fri, 24 May 2024 11:58:55 +0900 Subject: [PATCH] Fixed comment not showing in ko-KR --- _config.yml | 4 +- _data/locales/{ko-KR.yml => ko.yml} | 6 +- _includes/comments/giscus.html | 2 +- _posts/2024-05-22-discord-bot-0.md | 10 ++-- _posts/2024-05-23-discord-bot-1.md | 93 +++++++++++++++++++++++++++-- _posts/2024-05-24-discord-bot-2.md | 19 ++++++ 6 files changed, 118 insertions(+), 16 deletions(-) rename _data/locales/{ko-KR.yml => ko.yml} (96%) create mode 100644 _posts/2024-05-24-discord-bot-2.md diff --git a/_config.yml b/_config.yml index 388dfceaa0e..7531a59f29d 100644 --- a/_config.yml +++ b/_config.yml @@ -6,7 +6,7 @@ theme: jekyll-theme-chirpy # The language of the webpage › http://www.lingoes.net/en/translator/langcode.htm # If it has the same name as one of the files in folder `_data/locales`, the layout language will also be changed, # otherwise, the layout language will use the default value of 'en'. -lang: ko-KR +lang: ko # Change to your timezone › https://kevinnovak.github.io/Time-Zone-Picker timezone: Asia/Seoul @@ -123,7 +123,7 @@ comments: category_id: DIC_kwDOL-2mkM4Cfj4Q mapping: # optional, default to 'pathname' strict: # optional, default to '0' - input_position: # optional, default to 'bottom' + input_position: top lang: # optional, default to the value of `site.lang` reactions_enabled: # optional, default to the value of `1` diff --git a/_data/locales/ko-KR.yml b/_data/locales/ko.yml similarity index 96% rename from _data/locales/ko-KR.yml rename to _data/locales/ko.yml index f967918baf2..22295ff7a65 100644 --- a/_data/locales/ko-KR.yml +++ b/_data/locales/ko.yml @@ -53,8 +53,8 @@ notification: post: written_by: By - posted: '게시일 ' - updated: '최종 수정 ' + posted: "게시일 " + updated: "최종 수정 " words: 단어 pageview_measure: 번 조회됨 read_time: @@ -75,7 +75,7 @@ post: # See: , df: post: - strftime: "%Y%m/%d" + strftime: "%Y/%m/%d" dayjs: "YYYY년 MM월 DD일" # categories page diff --git a/_includes/comments/giscus.html b/_includes/comments/giscus.html index c8d48e67d41..d91780006fc 100644 --- a/_includes/comments/giscus.html +++ b/_includes/comments/giscus.html @@ -3,7 +3,7 @@ (function () { const origin = 'https://giscus.app'; const lightTheme = 'light'; - const darkTheme = 'dark_dimmed'; + const darkTheme = 'noborder_gray'; let initTheme = lightTheme; const html = document.documentElement; diff --git a/_posts/2024-05-22-discord-bot-0.md b/_posts/2024-05-22-discord-bot-0.md index 70ab93d9e95..8b60047404c 100644 --- a/_posts/2024-05-22-discord-bot-0.md +++ b/_posts/2024-05-22-discord-bot-0.md @@ -41,11 +41,11 @@ description: 디스코드 봇의 개념과 봇 개발 계획 기능들을 크게 분류해보면 사용자 관리, 엔터테인먼트, 유틸리티 이 세 가지로 나눌 수 있다. 사용자 관리는 경고와 밴 시스템 등이 해당하고 엔터테인먼트는 도박이나 미니게임 요소들, 그리고 유틸리티는 음악 재생이나 웹 검색 기능 같은 편리성을 향상할 수 있는 것들이 포함된다. -분류 | 포함되는 기능들 (예시) -:---|:--- -사용자 관리 | 경고와 밴, 유저 등록/삭제 -엔터테인먼트 | 도박 시스템, 미니게임, 모의투자 -유틸리티 | 음악 재생, TTS, 웹 검색 +| 분류 | 포함되는 기능들 (예시) | +| :----------- | :------------------------------ | +| 사용자 관리 | 경고와 밴, 유저 등록/삭제 | +| 엔터테인먼트 | 도박 시스템, 미니게임, 모의투자 | +| 유틸리티 | 음악 재생, TTS, 웹 검색 | 이 기능들을 전부 구현하려면 꽤 긴 시간이 걸릴테지만 하나씩 차근차근 만들어보려 한다. 먼저, 엔터테인먼트에 가상 경제 시스템을 넣을 생각이기 때문에 사용자의 자산을 기록하기 위해서라도 사용자 관리 시스템을 먼저 셋업해놓는 것이 맞다고 생각된다. diff --git a/_posts/2024-05-23-discord-bot-1.md b/_posts/2024-05-23-discord-bot-1.md index b35cae6e630..96e74b9829f 100644 --- a/_posts/2024-05-23-discord-bot-1.md +++ b/_posts/2024-05-23-discord-bot-1.md @@ -1,15 +1,17 @@ --- -title: 디스코드 봇 제작 - 1. 디스코드 봇 생성 +title: 디스코드 봇 제작 - 1. 디스코드 봇 생성과 기초 설정 date: 2024-05-22 09:31:20 +/-TTTT -lastmod: 2022-05-23 14:31:20 +/-TTTT +lastmod: 2022-05-24 11:07:00 +/-TTTT categories: [Python, Discord.py] -tags: [python, discord, bot] -description: 디스코드 봇을 생성하고 서버에 연결시키기 +tags: [python, discord, bot, .env] +description: 디스코드 봇을 생성하고 채팅에 대답하게 하기 --- > 이 글에서 다루는 내용 > - 디스코드 봇을 생성하는 방법 > - 테스트용 서버에 봇 추가하기 +> - Python으로 개발 설정하기 +> - 봇이 채팅에 응답하게 하기 ## 봇 생성하기 @@ -198,4 +200,85 @@ discord.errors.PrivilegedIntentsRequired: Shard ID None is requesting privileged 0_0 -또 위에서 설정했듯이 `'$hello'`로 시작되는 메시지를 입력하면 봇이 정해둔 답을 채팅으로 응답한다. \ No newline at end of file +또 위에서 설정했듯이 `'$hello'`로 시작되는 메시지를 입력하면 봇이 정해둔 답을 채팅으로 응답한다. + +### 3. 보안 설정하기 + +혼자서 봇과 놀거면 상관없겠지만 최종적으로 봇을 배포하는 것이 목표이기 때문에 코드에 봇 토큰을 그대로 남겨둘 수 없다. 때문에 `.env` 파일을 활용해 토큰을 저장할 것이다. + +```tree +📦Discord Bot + ┣ 📜.env + ┗ 📜bot.py + ``` + +```text +# .env +BOT_TOKEN={봇 토큰} +``` + +봇을 구동하는 Python 파일과 같은 폴더에 `.env` 파일을 생성해주고 그 안에 `BOT_TOKEN` 환경 변수를 만들어 토큰을 지정해주자. + +```bash +pip install -U python-dotenv +``` + +이제 코드를 실행할 때 `.env`에서 토큰을 읽어오게 하면 되는데 Python에서 `.env` 파일을 읽기 위해서는 `dotenv` 라이브러리가 필요하니 `pip`로 설치하면 된다. + +```python +import os +from dotenv import load_dotenv + +load_dotenv() +TOKEN = os.getenv('BOT_TOKEN') +``` + +다시 코드로 돌아가 필요한 라이브러리를 import해주고 필요한 코드를 추가해주자. `load_dotenv()`가 `.env`의 환경 변수들을 불러와 사용할 수 있게 해준다. + +```python +client.run(TOKEN) +``` + +마지막으로 토큰이 있던 자리를 불러온 토큰으로 교체해주면 끝이다. + +당장 할 수 있는 건 `$hello`에 응답하는 것 뿐이지만 조건문에서 원하는만큼 응답 종류를 불릴 수 있다. 이것만 해도 단둘이(~~사실 혼자~~) 있는 적막한 서버에서 나와 놀아주는 사람이 있는 듯한 기분을 낼 수 있다. 다음 글에서는 접속해 있는 길드의 정보를 얻는 방법에 대해 다뤄볼 것이다. + +## 부록 + +### i. 전체 코드 + +```python +# bot.py +import os, discord +from dotenv import load_dotenv + +load_dotenv() +TOKEN = os.getenv('BOT_TOKEN') + +intents = discord.Intents.default() +intents.message_content = True + +client = discord.Client(intents=intents) + +@client.event +async def on_ready(): + print(f'We have logged in as {client.user}') + +@client.event +async def on_message(message): + if message.author == client.user: + return + + if message.content.startswith('$hello'): + await message.channel.send('Hello!') + +client.run(TOKEN) +``` + +### ii. 폴더 구조 + +```tree +📦Discord Bot + ┣ 📜.env + ┗ 📜bot.py + ``` \ No newline at end of file diff --git a/_posts/2024-05-24-discord-bot-2.md b/_posts/2024-05-24-discord-bot-2.md new file mode 100644 index 00000000000..26824911230 --- /dev/null +++ b/_posts/2024-05-24-discord-bot-2.md @@ -0,0 +1,19 @@ +--- +title: 디스코드 봇 제작 - 2. 접속한 길드에서 정보 빼오기 +date: 2024-05-24 11:07:32 +/-TTTT +lastmod: 2022-05-24 11:07:32 +/-TTTT +categories: [Python, Discord.py] +tags: [python, discord, bot] +description: 봇이 접속한 길드에서 쓸만한 정보들 얻기 +--- + +> 이 글에서 다루는 내용 +> - 디스코드 봇을 생성하는 방법 +> - 테스트용 서버에 봇 추가하기 + +## 길드 + +> 이전 글에서 말한 것처럼 여기서 언급하는 **길드**는 우리가 흔히 말하는 디스코드 서버와 같다. +{: .promt-info} + +길드마다도 각자의 고유 ID를 가지고 있다. \ No newline at end of file