@mishkafrede2004

Help with cogs. RU: Помощь с когами. Не работают два ивента одновременно?

Eng: Hello! Don't work two events at the same time.
Ru: Здравствуйте! Не работают два ивента одновременно.
import discord
from discord.ext import commands

banwords = ['free nitro']

class Events(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.Cog.listener()
    async def on_message(message):
        await bot.process_commands(message)
        member = message.author
        role = discord.utils.get(member.guild.roles, id = 916301099508576307)
        if role in member.roles:
            return
        elif message.author.bot:
            return
        elif "https://" in message.content.lower():
            print('[Logs:utils] Была обнаружена ссылка! Удаляем!')
            await message.delete()
            await message.channel.send("Ссылки запрещены!")
    
    @commands.Cog.listener()
    async def on_message(message):
        await bot.process_commands(message)
        if message.author.bot:
            return
        elif "free nitro" in message.content.lower():
            print('[Logs: utils] Было обнаружено запрещенное слово! Удаляем!')
            await message.delete()
            await message.channel.send('Был обнаружен банворд, со списком запрещенных слов можно ознакомится в соглашении бота. -Binfo')



    @commands.Cog.listener()
    async def on_message(self, message):
        print(message)

def setup(bot):
    bot.add_cog(Events(bot))


Don't work second event.
Не работает второй ивент.
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 2
@asysprotri
Они и не должны так работать. Вы можете поместить код в 1 функцию.
@commands.Cog.listener()
    async def on_message(message):
        await bot.process_commands(message)
        member = message.author
        role = discord.utils.get(member.guild.roles, id = 916301099508576307)
        if role in member.roles:
            return
        if message.author.bot:
            return
        if "https://" in message.content.lower():
            print('[Logs:utils] Была обнаружена ссылка! Удаляем!')
            await message.delete()
            await message.channel.send("Ссылки запрещены!")
        if "free nitro" in message.content.lower():
            print('[Logs: utils] Было обнаружено запрещенное слово! Удаляем!')
            await message.delete()
            await message.channel.send('Был обнаружен банворд, со списком запрещенных слов можно ознакомится в соглашении бота. -Binfo')
        print(message)
Ответ написан
Комментировать
@mishkafrede2004 Автор вопроса
Условный блок с free nitro по прежнему не работает и не выдает ошибку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы