首页 > 解决方案 > 我的不和谐机器人由于某种原因不断断开连接

问题描述

我已经好几周没有更换我的机器人了,出于某种原因,在过去的 5 天左右,我每天都会收到这样的错误消息https://imgur.com/VCLx2kv

我不认为这个错误是由我的代码引起的,除了我不知道如何修复的整个循环的事情,而且它之前没有给我造成任何问题,但是如果你对那部分感到好奇,我有这个部分导致该问题的代码如下

我已经尝试过重新生成我的令牌。

@client.event
async def dead_check():
    i = 1
    d = datetime.now()
    date = str(d.strftime("%Y-%m-%d"))
    server = client.get_server(id = '105388450575859712')
    while i == 1:
        async for message in client.logs_from(discord.Object(id='561667365927124992'), limit=9999999):
            if date in message.content:
                usid = message.content.split('=')
                usid1 = usid[1].split(' ')
                count = message.content.split('#')
                cd = message.content.split('?')
                ev = cd[1]
                if ev == '00':
                    number = 0
                elif ev == '01':
                    number = 1
                elif ev == '10':
                    number = 2
                elif ev == '11':
                    number = 3
                name = count[0]
                await client.send_message(discord.Object(id='339182193911922689'), '@here\n' + name + ' has reached the deadline for the **FRICKLING** program.\nThe user has attended ' + str(number) + ' events.')
        async for message in client.logs_from(discord.Object(id='567328773922619392'), limit=9999):
            if date in message.content and message.reactions:
                usid = message.content.split(' ')
                user=await client.get_user_info(usid[0])
                await client.send_message(discord.Object(id='567771853796540465'), user.mention + ' needs to be paid, if you have already paid him - react with :HYPERS:')
                await client.delete_message(message)
        await asyncio.sleep(60*60*24)



@client.event
async def on_ready():
    await client.change_presence(game=Game(name='with nuclear waste'))
    print('Ready, bitch')
    asyncio.get_event_loop().run_until_complete(dead_check())

标签: python-3.6discord.py

解决方案


您是否尝试过减少这些 logs_from 调用的限制?9999999 是一个相当大的数字,它可能已经减慢了速度,以至于心跳没有在适当的时间发送。您还应该清理错误消息的图像,它包含您的机器人令牌。

感谢 Patrick Haugh,但我想关闭这个帖子,他没有把它作为答案发布


推荐阅读