Ошибка при запуске команды, не понимаю это с стороны хостинга или в коде

Рейтинг: 0Ответов: 2Опубликовано: 23.07.2025
import disnake
import re
import random

from disnake.ext import commands

intents = disnake.Intents.default()
intents.members = True
intents.message_content = True

bot = commands.Bot(command_prefix='/', intents=intents)

messages = ["Извените, я уже тут", "Где-то плачет 1 разработчик создавший меня" , "Спать! Я хочу спать, я думаю тоже хочет"]

@bot.slash_command(name="ping", description="Проверить бота на работу")
    
async def random(inter):
    random_message = random.choice(messages)
    await inter.response.send_message(random_message)

bot.run("мой токен")

Текст на хостинге: Текст на хостинге

Сам бот просто пишет "Бот не отвечает".

В коде ошибок я не вижу.

Ответы

▲ 2Принят
import random
       ^^^^^^
...

@bot.slash_command(name="ping", description="Проверить бота на работу")
async def random(inter):
          ^^^^^^
    random_message = random.choice(messages)
                     ^^^^^^

В Питоне все сущности равноправны, пространство имён общее, поэтому переменные, функции, библиотеки лежат в одном пространстве имён и при совпадении имени перекрывают друг-друга.

Как легко догадаться по тексту ошибки, вы пытаетесь вызвать метод choice не от библиотеки random, а от вашего же обработчика команды с тем же именем random.

Не называйте в Питоне разные сущности одинаковыми именами или именами встроенных методов или библиотек, одна сущность перекроет другую и у вас будут ошибки, не всегда очевидные.

▲ 0
@bot.slash_command(name="ping", description="Проверить бота на работу")
async def ping(inter):
    random_message = random.choice(messages)
    await inter.response.send_message(random_message)