【问题标题】:Discord.py Bot AutodeleteDiscord.py 机器人自动删除
【发布时间】:2021-08-07 01:49:58
【问题描述】:

我是 python 新手(我在学校课程中学习了基础知识), 目前我正在尝试为我的不和谐服务器创建简单的机器人。 目前,我真正想要的机器人是一个自动删除机器人,因此我可以说,(例如)在 24 小时后删除 ...Channel 中的每条消息。因为我真的不想手动做。 我知道有一些很好的机器人可以做到这一点,
但例如 MEE6 想让我购买 Premium 来使用功能。我不想使用任何成品机器人的另一个原因是我真的想理解和学习代码,
我看了很多教程,并试图将我理解的脚本部分放在一起,但没有奏效。我也没有找到向我解释它以便我理解的教程,所以现在我在这里并希望我能理解它。 我希望有一些人可以帮助我。 :)

谢谢
-Yami.Code

@bot.event()
async def on_ready(ctx):
    while requirement == 1:
        await ctx.channel.purge
        time.sleep(20)

#错误是:

line 11, in <module>
    @bot.event()
TypeError: event() missing 1 required positional argument: 'coro'

Process finished with exit code 1

【问题讨论】:

    标签: discord.py bots auto-delete


    【解决方案1】:
    1. 你不应该调用bot.event(去掉括号),
    2. time.sleep 是阻塞调用,请改用asyncio.sleep (What does "blocking" mean)
    3. on_ready 不接受ctx 作为参数,如果要向频道发送消息,则应先获取频道对象,然后使用send 方法
    4. channel.purge 方法中缺少括号...
    import asyncio # if you haven't already
    
    @bot.event
    async def on_ready():
        channel = bot.get_channel(channel_id) # replace `channel_id` with an actual channel ID
        while requirement == 1:
            await channel.purge(limit=x) # change `x` accordingly...
            await asyncio.sleep(20)
    

    【讨论】:

    • #then 它说:​​忽略 on_ready Traceback 中的异常(最近一次调用最后一次):文件“(privat)”,第 343 行,在 _run_event await coro(*args, **kwargs)类型错误:on_ready() 缺少 1 个必需的位置参数:'ctx'
    • 是的,我已经编辑了我的答案,一个小提示:在深入研究 discord.py 之前,你真的应该学习更多 python,5 行和 4 个错误......
    • 好吧,我会在做困难的事情之前多学习一下,但它再次发送同样的错误。
    • 对不起,现在看看编辑。 PS你必须在代码中更改channel_idx
    • 但我不想要限制,还是我必须设置任何限制? (我之前更改了频道 ID 和 x)
    猜你喜欢
    • 2021-03-29
    • 1970-01-01
    • 2022-11-02
    • 2018-08-16
    • 2021-10-07
    • 1970-01-01
    • 2021-10-14
    • 2019-01-22
    • 2021-08-24
    相关资源
    最近更新 更多