Deleting A Bot's Message In Discord.py
I have already made all of the proper imports and I have tried looking for answers from other posts but it seems to not quite fit my issue. I am trying to randomly send a message,
Solution 1:
while not client.is_closed:
channel = client.get_channel('397920718031159318')
messages = ["A random cat has appeared", "oh look its a cate"]
message = await client.send_message(channel, random.choice(messages))
await asyncio.sleep(3)
await client.delete_message(message)
await asyncio.sleep(4)
You have to capture the message object that send_message
produces, and then send that object to delete_message
Solution 2:
Now (discord.py
v1.3.0), just:
import discord
from discord.ext.commands import Bot
bot = Bot()
@bot.command()asyncdefping(ctx):
await ctx.send('pong!', delete_after=5)
bot.run('YOUR_DISCORD_TOKEN')
Solution 3:
This is for the rewrite version, but still works:
channel = client.get_channel('397920718031159318')
messages = ["A random cat has appeared", "oh look its a cate"]
await(await client.send_message(channel, random.choice(messages))).delete(delay=3)
await asyncio.sleep(4)
Solution 4:
for Discord.py versions 1.0.0 and up it is now: i understand you did not ask how to delete a sender's message but its here anyway...
import asyncio
channel = 397920718031159318#get the channel## send the message
message = await ctx.send('message')
## wait for 4 secondsawait asyncio.sleep(4)
## delete the messageawait message.delete()
## ^^ To delete the Bots message ^^ #### vv To delete the senders message vv #### get the message
message = ctx.message
## wait for 4 seconds againawait asyncio.sleep(4)
## delete the messageawait message.delete()
############################### You can edit the message in about the same way:
message = await ctx.send('Old Message')
await asyncio.sleep(0.5) # this is so the message has time to be readawait message.edit(content="New Message")
Post a Comment for "Deleting A Bot's Message In Discord.py"