@prostiti

Как отправить точное сообщения пользователя?

Я хочу сделать, так чтобы при отправки любого сообщения клиент-бот печатал в консоль сообщение которое было получено от другого пользователя. Как это можно сделать? Ибо через метод on_message я не знаю как использовать ctx, *, text

Код работает как надо, если сообщение отправил пользователь от которого код знает токен.
Зная токен результат:
Пользователь отправил сообщение
Привет, как дела
Console: Привет, как дела
Не зная токен результат:
{пусто}

код:

import re
import discord
from discord.ext import commands

client = commands.Bot(intents = discord.Intents.all(), command_prefix=(""), self_bot=True)

@client.event
async def on_ready():
print("Бот включён ( ͡° ͜ʖ ͡°)")

@client.event
async def on_message(message):
print(f"Пользователь отправил сообщение:\n{message.content}")

client.run("TOKEN", bot = False)

P.S. Хочу сделать клиент-бота который будет печатать в консоль сообщения которые пишут другие пользователи
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
mohovoy
@mohovoy
Практикуюсь в создании сайтов и ботов для дискорда
Попробуй так:
@client.event
async def on_message(message):
     print(f'[{message.channel}] Сообщение от {message.author}: {message.content}')

Вывод будет такой:
60eb25f14260e877247235.png
{message.channel} - получим название канала, с которого пишут сообщение
{message.author} - получаем автора сообщения
{message.content} - получаем текст сообщения

Если будешь добавлять другие команды, боту то сделай так:
@client.event
async def on_message(message):
    await client.process_commands(message)
    print(f'[{message.channel}] Сообщение от {message.author}: {message.content}')

Это позволит использовать команды и одновременно печатать в консоль
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы