Есть функция которая возвращает список файлов из диры:
return [f for f in listdir(path) if isfile(join(path, f))]
Если принтануть названия любого файлас русским названием получим соответственно неправильную кодировку, вопрос такой, как достать список с правильной кодировкой?
Если у тебя файловая система не юникодная, возможно придётся использовать костыли типа sys.setdefaultencoding() — чревато.
но в консоль то выводит нормально через print, а вот именно при отправке куда либо к примеру через апишку в чат дискорда, крякозябы уже (опять же не вижу в чем может не правильно работать discord api, ведь это чат)
Не надо думать, надо проверять. К слову, в родных линуксовых системах нет указания кодировки при монтировании и перекодирований имен файлов на лету (новомодный флаг регистронезависимости не в счет) — как записали, так и лежит, обычно считается, что в системной локали. А в iso8859-1 русских символов нет, совсем нет.