정구리의 우주정복
Python Project 03. 디스코드 봇 만들기 (5) - Embed 와 욕설 필터링 하기 본문
Embed 에 관한 정보는 API 에서 discord.Embed 라고 검색을 하면 여러가지 인자값들을 확인할 수 있다 .
Embed 란 ?
그냥 텍스트로 된 메시지를 보내는게 아니라 이렇게 박스 안에 메세지를 출력해준다 , 이 안의 내용은 글,사진,동영상 등 여러가지가 될 수 있음
##### $help embed #####
helpEmbed = discord.Embed(title ='Welcome', color =0xFFBBC6)
helpEmbed.set_author(name='정구리',url='https://j-ungry.tistory.com/',icon_url='insert image Url')
helpEmbed.set_thumbnail(url='insert image url')
helpEmbed.add_field(name='$help,$도움말',value='도움이 필요하면 불러봐요',inline=True)
helpEmbed.add_field(name='다른 기능들',value='추후 업데이트 예정입니다',inline=True)
Embed 를 간단하게 이용해본 소스코드이다 !
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$도움말') or message.content.startswith('$help'):
await message.channel.send(embed=helpEmbed)
실행해보려면 이렇게 작성한 뒤에 채팅창에 $도움말 이나 $help 를 쓰면 동작한다
helpEmbed 라는 새로운 Embed 를 생성한다 이때 title 과 옆에 나오는 띠의 색상을 지정해준다
set_author 은 이 임베드를 제작한 사람의 이름을 넣는건데 안넣어도 상관은 없음
set_thumbnail 은 현재 임베드 (helpEmbed) 의 썸네일을 지정해주는거다 여기서 주의할 점은 http(s) 만 사용가능하다
add_field 는 Embed의 내용을 넣어주는 부분인데 inline 을 사용하면 줄 바꿈을 하지 않는다
이렇게 해서 만든 helpEmbed 는 이런 모습이다
이걸 이용해서 깔끔하게 여러가지 기능들을 구현해볼 예정
다음은 욕설 필터링 기능이다 (사실 좀 야매임)
bad = ['ㅅㅂ','시발','씨발']
async def on_message(message):
##### remove bad words
message_contant=message.content
for i in bad:
if i in message_contant:
await message.channel.send('욕설 검지검지')
await message.delete()
bad에 욕설의 목록을 넣는다 (txt 파일로 넣는 사람들도 있더라구여)
message_contant=message.contant 를 이용해서 메세지를 message_contant 에 담아준다
메시지 안에 bad 의 인자가 있으면 '욕설 검지검지' 라는 메세지를 전송한 후 해당 욕설 메세지를 삭제해준다
(근데 for 문이라서 아마 bad 안의 인자가 많아지면 속도가 느려질거라구 생각이듬) 이건 추후에 다시 생각해봐야지
'PYTHON > PROJECT' 카테고리의 다른 글
Python Project 04. 영화리뷰 긍정부정 예측하기 - (1) 크롤링 (0) | 2020.12.21 |
---|---|
Python Project 04. 영화리뷰 긍정부정 예측하기 - 구상 (0) | 2020.12.21 |
Python Project 03. 디스코드 봇 만들기 (4) -새로운 접속자가 오면 메세지 보내기 on_member_join (0) | 2020.06.07 |
Python Project 03. 디스코드 봇 만들기 (3) - A minimal bot (0) | 2020.06.05 |
Python Project 03. 디스코드 봇 만들기 (2) - 시작하기 (1) | 2020.06.05 |