I'm trying to add a custom emoji as a reaction to a message using discord.py version 0.16.12 and I'm unable to get it functional. Here's the code I'm using:
@bot.event
async def on_message(message):
if message.content.find(':EmojiName:'):
await bot.add_reaction(message, '<:EmojiName:#EmojiID#>')
I've also tried passing the emoji id as a string similar to discord.js (message, '#EmojiID#')
. Am I supposed to pass the add_reaction
function an emoji object? And if that's the case, how do I find the specific emoji object from the get_all_emojis
function?
You can use the utility function discord.utils.get
to get the appropriate Emoji
object.
from discord.utils import get
@bot.event
async def on_message(message):
# we do not want the bot to reply to itself
if message.author == bot.user:
return
if ':EmojiName:' in message.content:
emoji = get(bot.get_all_emojis(), name='EmojiName')
await bot.add_reaction(message, emoji)
Nevermind, folks, I figured it out. You do have to pass it the emoji object itself. For posterity's sake, here's the code I ended up using:
async def on_message(message):
if message.content.find(':EmojiName:'):
for x in client.get_all_emojis():
if x.id == '#EmojiID#':
return await client.add_reaction(message, x)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With