You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py开发:如何实现机器人发送的欢迎消息一段时间后自动删除

实现欢迎消息定时自动删除的方法

你使用的discord.py库中,channel.send()方法本身就内置了定时自动删除的参数,你只需要在调用发送方法时增加delete_after参数,参数值填写你想要消息留存的秒数即可。

修改后的代码如下:

@client.event
async def on_member_join(member):
    channel = client.get_channel(channelID)
    # 此处delete_after的值为消息留存的秒数,示例是30秒后自动删除,可按需修改
    await channel.send(f'Hello', delete_after=30)

补充说明

  • 如果需要实现更长时间的定时删除,比如几小时甚至几天,你也可以手动实现逻辑:先接收发送成功返回的消息对象,异步等待指定时长后调用消息的删除方法,示例如下:
import asyncio

@client.event
async def on_member_join(member):
    channel = client.get_channel(channelID)
    welcome_msg = await channel.send(f'Hello')
    # 等待3600秒(1小时)后删除消息
    await asyncio.sleep(3600)
    await welcome_msg.delete()
  • 手动实现的方式有个限制:如果机器人在等待过程中重启,对应消息的删除任务就会失效,短时间删除更推荐直接使用delete_after参数。

内容的提问来源于stack exchange,提问作者Dmitriy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:45:07