Задержка в шестеренке в Discord.py не распознается как допустимый атрибут

Сначала, когда я создавал все свои команды для моего бота в дискорде в одном файле, не реорганизуя его в винтики, все работало очень хорошо. Теперь, когда я создал шестерни (и поместил туда свою команду ping), моя программа больше не распознает «задержку» как атрибут. Остальные мои команды (бан, разбан, кик, клиртекст) как ни странно работают нормально, без ошибок.

import discord
from discord.ext import commands

class basicComs(commands.Cog):

    def __init__(self, client):
        self.client = client

    @commands.command()
    async def ping(self, ctx):
        await ctx.send(f"Pong {round(commands.latency * 1000)}ms")

def setup(client):
    client.add_cog(basicComs(commands))

Сообщение об ошибке:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: module 'discord.ext.commands' has no attribute 'latency'

Спасибо:)

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
569
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это связано с тем, что у discord.ext.commands нет атрибута задержки. Атрибут задержки по-прежнему принадлежит вашему клиенту, то есть discord.ext.commands.Bot

Таким образом, даже после перехода на процессоры вам все равно придется вызывать задержку с вашего клиента. Также вы не добавляете Cog к своему клиенту в последней строке.

    @commands.command()
    async def ping(self, ctx):
        await ctx.send(f"Pong {round(self.client.latency * 1000)}ms")

def setup(client):
    client.add_cog(basicComs(client))

Спасибо за вашу помощь, но он почему-то все еще показывает то же сообщение об ошибке.

wurstm162 13.12.2020 09:33

@wurstm162 wurstm162 Извините, я не уловил этого раньше, проверьте вашу последнюю строку: client.add_cog(basicComs(commands)) <-- должно быть ...(basicComs(client) Редактирую свой ответ

AbdurJ 13.12.2020 10:53

Другие вопросы по теме