Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不和谐机器人不';不工作,不改变状态_Python_Discord_Discord.py - Fatal编程技术网

Python 不和谐机器人不';不工作,不改变状态

Python 不和谐机器人不';不工作,不改变状态,python,discord,discord.py,Python,Discord,Discord.py,首先,我的discord机器人不工作,在这个代码中是erorr,我找不到它,第二个是它没有改变状态,当你只放两个文本时,它正在改变,但当你试图放client.guilds它没有 @tasks.loop( seconds = 12 ) async def changeStatus(): iterationPosition = 0 status = [f' on { len(client.guilds) } servers', '~help'] await client.ch

首先,我的discord机器人不工作,在这个代码中是erorr,我找不到它,第二个是它没有改变状态,当你只放两个文本时,它正在改变,但当你试图放
client.guilds
它没有

@tasks.loop( seconds = 12 )
async def changeStatus():
    iterationPosition = 0
    status = [f' on { len(client.guilds) } servers', '~help']
    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.playing, name=status[iterationPosition]))
    iterationPosition = 0 if (iterationPosition is len(status) - 1) else (iterationPosition + 1)

@client.event
async def on_ready():
    print( 'bot connected' )
    changeStatus.start()
*工作代码,但问题是他给我写命令的次数和他在所有服务器上写的次数一样多

tasks.iterationPosition = 0

@tasks.loop( seconds = 5 )
async def changeStatus():
    status = [f" on { len(client.guilds) } servers", "~help"]
    await client.change_presence(
        activity=discord.Activity(
            type=discord.ActivityType.playing, name=status[tasks.iterationPosition]
        )
    )
    tasks.iterationPosition = (
        0
        if (tasks.iterationPosition is len(status) - 1)
        else (tasks.iterationPosition + 1)
    )

@client.event
async def on_ready():
    print( 'bot connected' )
    changeStatus.start()

在代码中,您总是在循环开始时将
0
分配给
iterationPosition
,而将其置于“全局”范围内,如下所示:

tasks.iterationPosition=0
@tasks.loop(秒=12)
异步def changeStatus():
状态=[f“在{len(client.guilds)}服务器上”,“~help”]
等待客户的到来(
活动=不和谐。活动(
type=discord.ActivityType.playing,name=status[tasks.iterationPosition]
)
)
tasks.iterationPosition=(
0
如果(tasks.iterationPosition为len(status)-1)
其他(tasks.iterationPosition+1)
)

你能告诉我们你遇到的错误吗?并缩小你想要达到的目标吗?我不能,因为当你编程机器人时,它就像cmd一样显示erorrs,但如果代码中有错误,它就不会打开,所以至少告诉我们你的代码的预期行为。它应该每12秒改变一次机器人状态,但我有错误,你可以检查我前面的问题什么错误?如果你只是说“我有错误”,或者编辑你的答案,这样我就可以看到你的全部代码,我尝试了你的代码,但它不起作用,我不能发送你的错误bc所有错误都应该显示在exe控制台,但eexe甚至没有开始,这意味着在代码中是错误的,但我不能说确切的是什么,在哪里好,让我看看你的全部代码。