【问题标题】:Discord.py Random Presence Selection returns no outputDiscord.py 随机存在选择不返回输出
【发布时间】:2019-01-05 09:26:17
【问题描述】:

我正在尝试为我的不和谐机器人创建一个随机任务循环。我已经可以通过有序的结果列表更改状态,但我试图让它显示具有适当存在(观看、播放等)的随机结果。目前任务确实发生了变化,但是它在测试时未能显示(或做出)随机选择,使两个结果之一为空白(即没有涉及存在和'foo','bar','的结果spam', 'eggs', 只有一个空白行会更改我手动设置的结果)。此代码是用 Python 3.6.X 编写的,任何帮助或指导将不胜感激!

def rand_task():
    '''random condition picker'''
    tasks = [
        'playing', 'streaming', 'listening', 'watching'
        ]
    return choice(tasks)

async def status_task():  
    '''random task looper'''
    while True:
        _play = ['foo'
            ]

        _stream = ['bar'
            ]

        _watch = ['spam'
            ]

        _listen = ['eggs'
            ]

        status = rand_task()
        if status == 'playing':
            _name = choice(_play)
            _type = '0'
            _url = None

        elif status == 'streaming':
            _name = choice(_stream)
            _type = '1'
            _url = None

        elif status == 'listening':
            _name = choice(_watch)
            _type = '2'
            _url = None

        elif status == 'watching':
            _name = choice(_listen)
            _type = '3'
            _url = None

        await bot.change_presence(game=d.Game(name='for -help', type=3))
        await sleep(2)
        await bot.change_presence(game=d.Game(name=_name, url=_url, type=_type))
        await sleep(1)

@bot.event
async def on_ready():
    await bot.loop.create_task(status_task())

【问题讨论】:

  • 您使用的是哪个版本的discord.py 库?如果您还没有,您可能需要考虑切换到 rewrite 分支,那里的存在 API 更成熟:discordpy.readthedocs.io/en/rewrite/…
  • 我最近一直在考虑切换到rewrite分支,可能会在不久的将来这样做,谢谢你的建议!

标签: python python-3.x discord.py


【解决方案1】:

您的_type 变量是字符串,它们应该是整数。

    if status == 'playing':
        _name = choice(_play)
        _type = 0
        _url = None
    # etc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2011-03-03
    • 2021-07-12
    • 2017-06-20
    • 2015-07-09
    • 1970-01-01
    相关资源
    最近更新 更多