【发布时间】:2021-11-08 15:28:24
【问题描述】:
我用 Python 编写了一个 Discordbot,它会自动为 Voicechannel 创建一个关联的 Textchannel。但是,如果机器人崩溃并停止运行,则不会删除现有的文本通道。因此,如果用户进入语音通道 A,他将不再获得文本通道 A 的任何权限。
我的初步想法是,一旦我重新启动机器人,它就会搜索现有的文本通道。在其中写入一条消息并在一分钟后将其删除。我也实现了这个,只是一分钟后的删除不想像我想象的那样工作。
对于延迟我使用asyncio.sleep(60)。没有延迟,它会选择通道 ID 并一个接一个地写入通道。延迟写入第一个通道,等待一分钟,然后写入下一个通道。
但我希望它一次写入所有频道,然后在一分钟后删除文本频道。
async def on_ready():
#Bot Crash - Old Textchannel search
for text_channel in guild.text_channels:
if 'text' in text_channel.name:
old_channels = text_channel
await bot.get_channel(old_channels.id).send(embed=old_channel_embed(bot.user.avatar_url, old_channels.id))
print(old_channels.id)
await asyncio.sleep(60)
await text_channel.delete()
感谢和干杯。
【问题讨论】:
标签: python discord discord.py bots