как минимум вот это в корне не верно
channel.members.map(async (member) => {})
тут не верное использование map как forEach - но это полбеды...
как вы ожидаете: внутри map делаете асинхронный запрос к базе, получаете player, кладете его в массив. После обработки все массива вызываете resolve(players)
что происходит: map пробегает по members, для каждого стартует промис с запросом, выполняется resolve() - отдает пустой массив, т.к. ни один из промисов еще не разрешился
Замените map на for ... of