Как сделать обновление рандома в Python?
Я делал бота для дискорд, и мне понадобилось что бы он из списка выводил слова рандомные, только во второй и другие разы он эти слова повторяет, а мне нужно что бы он каждый раз, новое выводил из списка. Код:
import discord
import random
from discord.ext import commands
TOKEN = 'май токен'
PREFIX = '!'
intents = discord.Intents().all()
bot = commands.Bot(command_prefix=PREFIX, intents=intents)
avtoriz = ['человек', 'авторизоваться', 'а']
for x in range(5):
random_avtoriz = random.choice(avtoriz)
@bot.event
async def on_ready():
pass
@bot.command()
async def а(ctx):
await ctx.send("ъ")
@bot.command()
async def авторизация(ctx):
await ctx.send(random_avtoriz)
@bot.command()
async def повтори(ctx, *, arg):
await ctx.send(arg)
bot.run(TOKEN)
Подскажите пожалуйста.
Ответы (1 шт):
Автор решения: mironovmeow
→ Ссылка
При запуске программы создаётся (пять раз) переменная random_avtoriz и, в последствии, никак не обновляется.
Почему бы не вызывать random.choice(...) внутри хендлера, без этой переменной? Тогда мы каждый раз будем получать случайный элемент из массива.
...
@bot.command()
async def авторизация(ctx):
await ctx.send(random.choice(avtoriz))
...