Не работает discord-бот на Python

Сделал простенького дискорд-бота на Python (скорее заготовку с парой функций). Полный код бота прилагается:

import discord
import asyncio
import random
from discord.ext import commands
TOKEN = 'токен....'
bot = commands.Bot(command_prefix='/')

coinVars = ['ОРЁЛ', 'РЕШКА']

@bot.command()
async def random(ctx):
    await ctx.send(random.randint(1, 1000))

@bot.command(pass_context=True)
async def info(ctx,infovar):
    await ctx.send('Вероятность того, что', infovar, 'равна',random.randint(1, 100), '%' )

@bot.command()
async def coin(ctx):
    await ctx.send(random.choise(coinVars))

bot.run(TOKEN)

Подключил к серверу, запустил файл на ПК. Бот активировался, но при вводе команды (например /random) пишет в консоли следующее:

Ignoring exception in command random:
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\core.py", line 83, in wrapped
    ret = await coro(*args, **kwargs)
  File "C:\DiscordBotHellHoma\Bot.py", line 12, in random
    await ctx.send(random.randint(1, 1000))
AttributeError: 'Command' object has no attribute 'randint'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\bot.py", line 892, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\core.py", line 797, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\core.py", line 92, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Command' object has no attribute 'randint'

В чём может быть проблема и как её решить?


Ответы (1 шт):

Автор решения: AlexMTX

Ты в коде переопределяешь модуль random функцией async def random(ctx): У этой функции нет ожидаемо randint. Назови свою функцию по-другому, например async def get_random(ctx):

→ Ссылка