Discord бот не выводит логи сообщения пользователя (Python)

Рейтинг: 0Ответов: 2Опубликовано: 17.04.2023

Вот код с которым у меня возникли проблемы:

@client.event
async def on_message(message):
    channel = client.get_channel(1085938113420988506)
    if message.author != client.user:
        await channel.send(f'{message.author} в "{message.channel}": {message.content or "пустое сообщение"}')

Этот код просто выводит: "ник" в "канал": и всё. Но после того как я немного модифицировал конец строки из {message.content} в {message.content or "пустое сообщение"}, то код начал выводить: "ник" в "канал": пустое сообщение.

Я пробовал это выводить через print() консоль - итог тот же. Пытался еще взять кусок кода, который берёт информацию введенную пользователем и сохраняет в отдельную переменную, но там буквально тоже самое, что и у меня.

Ответы

▲ 1

Согласно официальной документации:

message.content - The actual contents of the message. If Intents.message_content is not enabled this will always be an empty string unless the bot is mentioned or the message is a direct message.

Проверяй эти условия.

▲ 0

Попробуйте вот так:

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True

client = commands.Bot(command_prefix = '!', intents=intents)


@client.event
async def on_message(message):
    channel = client.get_channel(1085938113420988506)
    if message.author != client.user:
        await channel.send(f'{message.author} в "{message.channel}": {message.content or "пустое сообщение"}')