Skip to content

Instantly share code, notes, and snippets.

@hwahyang1
Created March 31, 2020 05:17
Show Gist options
  • Save hwahyang1/3296c182f1fe2fc81db5326aac422f45 to your computer and use it in GitHub Desktop.
Save hwahyang1/3296c182f1fe2fc81db5326aac422f45 to your computer and use it in GitHub Desktop.
# await 메시지변수.add_reaction("Emoji") 로 반응을 추가합니다.
# 유저가 입력한 명령어에 반응을 달고 싶으시면 '메시지변수'를 message로,
# 전송하신 메시지에 담고 싶으시면 message.channel.send() 구문 앞에 sent = 라고 쓰시고,
# '메시지변수'를 sent로 적으시면 됩니다.
# 모든 메시지에 대한 반응 추가를 감지하지는 못하고, 특정한 메시지에 대한 반응만 감지 할 수 있습니다.
# 그 전에, 아래와 같은 구문을 사용하여 어떤 반응을 추가 할 때만 반응할지 정의합니다.
def question_check(reaction, user): # question_check 라는 이름은 마음대로 바꾸셔도 됩니다.
# 누구든지 :one:라는 이모지나 :two:라는 이모지를 눌렀을 때 반응하게 됩니다.
# 다른 이모지를 추가하고 싶으시면 직접 출력되는 내용을 찾아서 입력하셔야 합니다만, 저도 작성한지 오래되어서 도와드리기가 어려울 수도 있습니다.
return str(reaction.emoji) == '1⃣' or str(reaction.emoji) == "2⃣"
try:
# 다른건 건드실 필요 없고, 위에서 def 뒤에 이름 변경하셨으면 check= 뒤에 변경하시면 되고,
# 시간제한을 60초로 설정했는데, 수정하고 싶으시면 timeout= 뒤에 내용 수정하시면 됩니다.
reaction, user = await client.wait_for('reaction_add', timeout=60.0, check=question_check)
except asyncio.TimeoutError:
# 설정한 시간이 지나면 이쪽 구문으로 내려옵니다.
# 위에서 설정했던 이모지를 추가하지 않고서 시간이 지나도 이쪽 구문으로 내려옵니다.
else:
# 위에서 설정한 반응이 입력되었을 때 돌아가는 구문입니다.
# reaction 변수에는 유저가 추가한 이모지에 대한 정보가, user 변수에는 이모지를 등록한 유저의 변수가 담깁니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment