• Discord.py как сделать глобальный чат?

    @maximnaum
    кстати если нужно с названием сервера то держи:
    GLOBAL_CHAT = 'глобальный-чат'  # PEP8: Названия констант пишутся капсом
    
    @client.event
    async def on_message(message):
        channel = discord.utils.get(message.guild.text_channels, name=GLOBAL_CHAT)
        if message.author.id == client.user.id:
            return  # return предотвратит выполнение следующего кода
        if message.channel.id != channel.id:
            return
        await message.delete()  # удаляем сообщение один раз
        for guild in client.guilds:
            if channel := discord.utils.get(guild.text_channels, name=GLOBAL_CHAT):
                # py3.8: walrus operator ("моржовый" оператор)
                # равносильно следующему:
                # channel = discord.utils.get(guild.text_channels, name=GLOBAL_CHAT)
                # if channel: ...
                try:
                    await channel.send('**[{0.guild}]** **{0.author}:** {0.content}'.format(message))
                except discord.Forbidden:
                    print(f"Невозможно отправить сообщение на сервер {guild.name}: Недостаточно прав")
                except discord.HTTPException as e:
                    print(f"Невозможно отправить сообщение на сервер {guild.name}: {e}")

    если есть вопросы то можешь написать мне в дс: CRAIZESdsYT#0953 :)
    Ответ написан
    Комментировать