Вот краткий пример Cog, который показывает, как вы можете собрать смайлики, которые нужно запретить, и горячие, чтобы проверить, есть ли они в сообщениях. Это должно работать как для пользовательских, так и для анимированных эмодзи.
from discord.ext.commands import Cog, command
class EmojiRemover(Cog):
def __init__(self, bot):
self.bot = bot
self.banned_emoji = set()
def react_check(self, message):
def check(reaction, user):
return reaction.message.id == message.id
return check
@command()
async def add_emoji(self, ctx):
msg = await ctx.send("React with forbidden emojis")
while True:
reaction, user = await self.bot.wait_for('reaction_add', check=self.react_check(msg))
self.banned_emoji.add(str(reaction.emoji))
@Cog.listener()
async def on_message(self, message):
if message.author.bot:
return
print(message.content)
if any(e in message.content for e in self.banned_emoji):
await message.delete()
@command()
async def get_emoji(self, ctx):
await ctx.send(' '.join(map(str, self.banned_emoji)))