如何为列表中的每个项目多次调用discord.py函数?

时间:2018-12-18 04:44:20

标签: python discord discord.py

我在python中使用discord api管理Discord机器人。此命令在某个不和谐频道中创建人员列表。

我有一个功能:

async def attendance(ctx, channel):
    code here that creates a variable with member names
    await bot.say(printdiscordnames)

我想每次在列表中使用不同的频道名称调用上述函数

所以我会这样做:

async def attendanceall(ctx):
    channel_list = ['voice1', 'voice2', 'voice3']
    for item in channel_list:
        attendance(item)

基本上我想在不和谐状态下执行!attendanceall,它将执行第一个功能,该功能将创建一个列表并针对列表中的每个通道不协调地打印它。

我的问题是我不知道如何为列表中的每个频道名称调用第一个函数。

2 个答案:

答案 0 :(得分:2)

async def attendanceall(ctx):
channel_list = ['voice1', 'voice2', 'voice3']
for item in channel_list:
    asyncio.get_event_loop().create_task(attendance(item))

您可以执行此操作以运行异步功能,或将以下功能用作另一种运行方式

async def attendanceall(ctx):
channel_list = ['voice1', 'voice2', 'voice3']
for item in channel_list:
    client.loop.create_task(attendance(item))

答案 1 :(得分:1)

尝试:

async def attendanceall(ctx):
    channel_list = ['voice1', 'voice2', 'voice3']
    for item in channel_list:
        await attendance(item)

请参阅this链接以获取帮助