Erreur sur la fonction flatten()
Bonjour,
J'ai suivi et jusqu’à présent mon bot en ligne répond correctement à tout ( j'ai du rajouter qq details) .
Simplement je n'arrive pas à trouver de solutions pour effacer les messages.
sur mes 2 scripts, l'erreur est la même :
File "/home/jee/Bureau/DocBot/bot.py", line 14, in delete
messages = await ctx.channel.history(limit=number_of_messages + 1).flatten()
AttributeError: 'async_generator' object has no attribute 'flatten'
File "/home/jee/Bureau/DocBot/client.py", line 37, in on_message
messages = await message.channel.history(limit=number + 1).flatten()
AttributeError: 'async_generator' object has no attribute 'flatten'
les scripts :
from discord.ext import commands
import discord
bot = commands.Bot(command_prefix="!", intents=discord.Intents.default())
@bot.event
async def on_ready():
print("Le bot est prêt!")
@bot.command(name='del')
async def delete(ctx, number_of_messages: int):
messages = await ctx.channel.history(limit=number_of_messages + 1).flatten()
for each_message in messages:
await each_message.delete()
bot.run(XXX)
mport discord
default_intents = discord.Intents.default()
default_intents.members = True
client = discord.Client(intents=default_intents)
@client.event
async def on_ready():
print("Ready!")
@client.event
async def on_message(message):
if message.content.lower() == "ping":
await message.channel.send("Pong!", delete_after=5)
@client.event
async def on_member_join(member):
general_channel: discord.TextChannel = client.get_channel(
913464637947805728)
await general_channel.send(content=f"Bienvenue a toi, ceci est un texte personnalisé!! Le vois-tu {member.display_name}?")
@client.event
async def on_message(message):
if message.content.startswith("bonjour"):
await message.channel.send("Bonjour a toi!")
@client.event
async def on_message(message):
if message.content.startswith("!del"):
number = int(message.content.split()[1])
messages = await message.channel.history(limit=number + 1).flatten()
for each_message in messages:
await each_message.delete()
client.run(ZZZZZ]
J'ai fait quelques recherches mais je n'ai pas trouver de solutions correspondantes. Merci ^^
( je suis sous python 3.9.13 )
Impeccable merci, ça fonctionne.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte