컷 스톰 서버 이모티콘이 문자열에있을 때 내 봇이 응답하도록하려면 어떻게해야합니까?
내 코드는 현재 다음과 같습니다.
if message.content.startswith(":emoji: Hello"):
await client.get_channel(123456789).send("Hello to you, too!")
Discord에 이모티콘과 문장을 게시하면 명령이 트리거되지 않습니다. 무엇을 변경해야합니까?
사용자 정의 이모티콘을 사용하는 경우 고유 ID가 있으며 이는 이모티콘의 이름뿐만 아니라 메시지 내용에 나타나는 것입니다. 몇 가지 다른 방법으로 액세스 할 수 있지만 가장 쉬운 방법은 \:emoji:
이며 여기에서 작업하는 것을 볼 수 있습니다.
마지막 부분은 메시지 내용에 포함될 내용입니다. 따라서 제 경우에는 올바른 진술은 다음과 같습니다.
if message.content.lower().startswith("<:statue:709925980029845565> hello"):
await message.channel.send("Hello to you too!") # sends to the same channel the message came from
ID를 사용하지 않고 이모티콘을 검색 할 수도 있습니다.
emoji = discord.utils.get(message.guild.emojis, name="statue")
if message.content.lower().startswith(f"{emoji} hello"):
await message.channel.send("Hello to you too!")
또한 .lower()
명령을 대소 문자를 구분하지 않도록 사용했기 때문에 사용자가를 입력하든 HelLo
, HELLO
또는hElLo
참조 :
Guild.emojis
str(emoji)
utils.get()
-를 사용할 수도 Guild.fetch_emoji()
있지만이를 위해서는 사전에 ID를 알아야합니다.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다