message.content에서 서버 사용자 정의 이모티콘을 제거하는 방법

버그와 대처



Discord 채팅을 읽는 bot 만들기의 기사를 보고 bot를 작성했는데, 서버의 커스텀 이모티콘을 읽을 때에 emoji의 ID를 읽어 버리는 불편이 발생했기 때문에 이하와 같이 대처했습니다.
import re

def remove_custom_emoji(text):
    pattern = r'<:[a-zA-Z0-9_]+:[0-9]+>'    # カスタム絵文字のパターン
    return re.sub(pattern,'',text)   # 置換処理

해설



사용자 지정 이모티콘은 message.content<:emoji_name:emoji_id> 형식입니다.
이것을 제거하는 패턴을 작성해 re.sub() 에 건네주어, 매치 한 부분을 공백으로 치환하는 것으로 커스텀 이모티콘을 제거하고 있습니다.

보다 정확한 패턴이 있으면 코멘트 쪽에 잘 부탁드립니다

참고



파이썬에서 여러 문자열을 삭제하고 싶습니다. re.sub 사용
Discord Bot Portal JP 여러분(Twitter)

좋은 웹페이지 즐겨찾기