【发布时间】:2020-08-22 22:12:16
【问题描述】:
我正在使用它向服务器上的每个人发送 dm,
@bot.command(pass_context = True)
@commands.has_permissions(manage_messages=True)
async def dm_all(ctx, *, args=None):
sended_dms = 0
rate_limit_for_dms = 20
time_to_wait_to_avoid_rate_limit = 60
if args != None:
members = ctx.guild.members
for member in members:
try:
await member.send(args)
await ctx.channel.send(" sent to: " + member.name)
except:
await ctx.channel.send("Couldn't send to: " + member.name)
sended_dms += 1
if sended_dms % rate_limit_for_dms == 0:
asyncio.sleep(time_to_wait_to_avoid_rate_limit)
else:
await ctx.channel.send("Please provide a message to send!")
代码很完美,运行也很好。它在每个 dm 发送到 {member.name} 的 dm 之后发送日志,我想要的是在每个日志(即 msg 已发送到.....)之后,对于下一个日志,它应该编辑上一个消息。 (对不起,我不善于解释:p)
它会像这样在每个 dm 之后发送一条消息, 发送到 {member.name} 然后下一个发送到 {member.name}
我想要的是它不应该一次又一次地发送它,而是应该为每个 dm 一次又一次地编辑第一条消息。
如果您能提供帮助,我将不胜感激!
【问题讨论】:
标签: python discord discord.py