Я создаю бота Discord, используя Python, я хочу, чтобы бот реагировал случайным сообщением, которое отлично работает с использованием random.choice
Однако я хотел кое-что добавить. Я обнаружил, что с помощью random.choices
(docs здесь ) вы можете добавлять веса в свой список, чтобы одни выбирались чаще, чем другие. Прямо сейчас у меня есть:
@bot.event
async def on_member_join(channel):
time.sleep(2)
channel = bot.get_channel(723954693826674701)
brankos_greetings = [
"testMessageCommon1",
"testMessageCommon2",
"testMessageCommon3",
"testMessageCommon4",
"testMessageCommon5",
"testMessageCommon6",
"testMessageCommon7",
"testMessageCommon8",
"testMessageCommon9",
"testMessageCommon10",
"testMessageSemiRare1",
"testMessageSemiRare2",
"testMessageSemiRare3",
"testMessageSemiRare4",
"testMessageSemiRare5",
"testMessageSemiRare6",
"testMessageSemiRare7",
"testMessageRare1",
"testMessageRare2"
]
weights = [
0.077,
0.077,
0.077,
0.077,
0.077,
0.077,
0.077,
0.077,
0.077,
0.077,
0.03,
0.03,
0.03,
0.03,
0.03,
0.03,
0.03,
0.01,
0.01,
]
response = random.choices(brankos_greetings, weights, k = 1)
await channel.send(response)
Однако это дает следующий вывод в чате: ['testMessageCommon1'] ['testMessageRare1']
. et c
Я пробовал: response = str(random.choices(brankos_greetings, weights, k = 1))
и await channel.send(str(response))
и response = random.choices(brankos_greetings, weights, k = 1).strip('[]')
и await channel.send(response.strip(['']))
Но ничего не работает.
Итак, мой вопрос: как преобразовать этот список в строку?