Как мне вызвать функцию discord.py несколько раз для каждого элемента в списке? - PullRequest
0 голосов
/ 18 декабря 2018

Я использую API-интерфейс Discord в Python для управления ботом 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)

По сути, я хочу сделать !ideanceall все в разногласиях, и он будет выполнять первую функцию, которая составляет список и печатает его в разногласиях для каждого канала в списке.

Моя проблема в том, что я не делаюзнать, как вызывать первую функцию для каждого имени канала в списке.

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018
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))
0 голосов
/ 18 декабря 2018

try:

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

см. эту ссылку для справки

...