client.change_presence语法错误

时间:2017-10-27 18:03:25

标签: python discord.py

需要你的帮助。 我试图创建一个自我机器人来显示我在个人身份中听到的音乐,但我在client.change_presence上遇到语法错误,我不明白为什么。你帮我吗?

import discord, asyncio, logging
logging.basicConfig(level=logging.INFO)

client = discord.Client()

@asyncio.coroutine
def main_task():
    yield from client.login('token')
    yield from client.connect()
    await client.change_presence(game=discord.Game(name='Paper Please'))

loop = asyncio.get_event_loop()
try:
    loop.run_until_complete(main_task())
except:
    loop.run_until_complete(client.logout())
finally:
    loop.close()

2 个答案:

答案 0 :(得分:0)

您的Python脚本使用await expression,此表达式是在Python 3.5中引入的。

来自What’s New In Python 3.5

  

新语法功能:

     

PEP 492,带有异步和等待语法的协同程序。

您必须将Python解释器升级到Python 3.5或更高版本。

答案 1 :(得分:0)

您最有可能使用Python 3.4。

从这里,您有2个选项。安装Python 3.5或3.6并继续使用async / await,或转换代码以使用Python 3.4语法

@asyncio.coroutine
def main_task():
    ...
    yield from client.change_presence(...)