Я написал бота Discord, который должен повторять сообщения, удаленные пользователями. Он без проблем отвечает на пинг и составляет сообщение, если кто-то удаляет сообщение, но он не извлекает содержимое удаленного сообщения. Единственный раз, когда он может получить содержимое удаленного сообщения, — это если оно было проверено в сообщении. Пример: если сообщение «@bot, это удаленное сообщение» было удалено, то бот сможет его получить, но если сообщение «это удаленное сообщение» было удалено, при попытке получить сообщение он выплюнет выскакивает ошибка отсутствия содержимого.
Я новичок в Python, и мне были бы интересны любые подсказки. Я включил свой код ниже с комментариями. Спасибо.
import discord
import os
from flask.app import cli
from keep_alive import keep_alive
from discord.ext import commands
intents = discord.Intents.default()
intents.message_content = True
intents.messages = True
client = discord.Client(intents=discord.Intents.default())
token = os.getenv('token.env')
# Event to detect and log deleted messages
@client.event
async def on_message_delete(message):
# Response message
response = (
f"🔔 **Deleted Message Alert** 🔔\n"
f"User: {message.author}\n"
f"{message.content or 'No text content'}"
)
# Ignore messages sent by bots
if message.author.bot:
return
# Send the response to the same channel
await message.channel.send(response)
# Event to detect when the bot is pinged
@client.event
async def on_message(message):
# Check if the bot is mentioned
if client.user in message.mentions:
await message.channel.send("Hello!")
# Ensure other commands and events still work
await client.process_commands(message)
# Log when the bot is ready
@client.event
async def on_ready():
print(f"Logged in as {client.user.name} - {client.user.id}")
#server activation
keep_alive()
# Runs the bot
client.run(os.getenv("TOKEN"))
Что я пробовал:
Я переписал и отформатировал код по-другому без влияния/изменения
Я удалил разделы, чтобы проверить, не является ли причиной проблемы «событие обнаружения проверки связи бота», но никаких изменений не произошло, кроме того, что бот не отвечает на пинг
Я удалил раздел без текстового контента, который только что выдал пустое сообщение
Я написал бота Discord, который должен повторять сообщения, удаленные пользователями. Он без проблем отвечает на пинг и составляет сообщение, если кто-то удаляет сообщение, но он не извлекает содержимое удаленного сообщения. Единственный раз, когда он может получить содержимое удаленного сообщения, — это если оно было проверено в сообщении. Пример: если сообщение «@bot, это удаленное сообщение» было удалено, то бот сможет его получить, но если сообщение «это удаленное сообщение» было удалено, при попытке получить сообщение он выплюнет выскакивает ошибка отсутствия содержимого. Я новичок в Python, и мне были бы интересны любые подсказки. Я включил свой код ниже с комментариями. Спасибо. [code]import discord import os from flask.app import cli from keep_alive import keep_alive from discord.ext import commands
# Event to detect and log deleted messages @client.event async def on_message_delete(message):
# Response message response = ( f"🔔 **Deleted Message Alert** 🔔\n" f"User: {message.author}\n" f"{message.content or 'No text content'}" )
# Ignore messages sent by bots if message.author.bot: return
# Send the response to the same channel await message.channel.send(response)
# Event to detect when the bot is pinged @client.event async def on_message(message): # Check if the bot is mentioned if client.user in message.mentions: await message.channel.send("Hello!")
# Ensure other commands and events still work await client.process_commands(message)
# Log when the bot is ready @client.event async def on_ready(): print(f"Logged in as {client.user.name} - {client.user.id}")
#server activation keep_alive()
# Runs the bot client.run(os.getenv("TOKEN")) [/code] [b]Что я пробовал:[/b] [list] [*]Я переписал и отформатировал код по-другому без влияния/изменения [*]Я удалил разделы, чтобы проверить, не является ли причиной проблемы «событие обнаружения проверки связи бота», но никаких изменений не произошло, кроме того, что бот не отвечает на пинг [*]Я удалил раздел без текстового контента, который только что выдал пустое сообщение [/list]