为了账号安全,请及时绑定邮箱和手机立即绑定

如何在循环中从列表中打印不同的值?

如何在循环中从列表中打印不同的值?

子衿沉夜 2021-03-29 12:39:40
我试图制造一个Discord机器人,而我想添加的功能之一是从列表中选择一个随机项目并将其发布。一段时间后,从同一列表中选择一个新项目并发布。该Discord.py github上有做循环/后台任务的例子。import discordimport asyncioclient = discord.Client()async def my_background_task():    await client.wait_until_ready()    counter = 0    channel = discord.Object(id='channel_id_here')    while not client.is_closed:        counter += 1        await client.send_message(channel, counter)        await asyncio.sleep(60) # task runs every 60 seconds@client.eventasync def on_ready():    print('Logged in as')    print(client.user.name)    print(client.user.id)    print('------')client.loop.create_task(my_background_task())client.run('token')上面的代码工作正常。僵尸程序会不断记录日志。这是我尝试更改它的方法。import discordimport asyncioimport randomclient = discord.Client()async def my_background_task():    await client.wait_until_ready()    postimage = random.choice(list(open('imgdb.txt'))) #Opens my list of urls and then pick one from there.    channel = discord.Object(id='channel_id_here')    while not client.is_closed:     await client.send_message(channel, postimage)     await asyncio.sleep(10) # task runs every 10 seconds for testing@client.eventasync def on_ready():    print('Logged in as')    print(client.user.name)    print(client.user.id)    print('------')client.loop.create_task(my_background_task())client.run('token')问题是,机器人会随机选择一个图像,然后一遍又一遍地继续发布相同的图像。如何强制发布图片在每个循环中都不同?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信