он фильтрует текст убирая символ
'
было: ['one' , 'two', 'tho' , 'four' , 'inv']
должно быть: [one , two, tho , four , inv]
Это так не работает. Вы не можете убрать кавычки и получить переменную из строки.
Не занимаюсь дискордом, но в документации нет упоминаний параметра «components». Ну, предположим, он есть. Если вы хотите эти кнопки отправить в случайном порядке, то сначала нужно их создать, затем добавить в список, перемешать и отправлять
one = Button(style = ButtonStyle.green, label = ' 1', id='1')
two = Button(style = ButtonStyle.green, label = ' 2', id='2')
tho = Button(style = ButtonStyle.green, label = ' 3', id='3')
four = Button(style = ButtonStyle.green, label = '4 ', id='4')
inv = Button(style = ButtonStyle.green, label = ' 5', id='5')
components = [one, two, tho, four, inv]
random.shuffle(components) # обратите внимание, что shuffle не возвращает новый список, а модифицирует оригинальный.
message = await ctx.channel.send(embed=embed1 , components=components)