繁体   English   中英

Discord,py 命令在 cogs 中以前有效,但在使用时找不到

Discord,py commands in cogs that previously worked now are not found upon using them

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一段时间没有更改运行 discord.py 的 discord 机器人中的代码。 它之前工作,但半年后突然停止工作,因为代码在没有任何操作的情况下不知何故坏了。 该机器人运行,甚至能够使用在 main.py 文件中实现的命令。 但是,当尝试运行用 cogs 编写的命令时,例如 help.py,它只会给我以下错误:

    2022-09-27 14:58:00 ERROR    discord.ext.commands.bot Ignoring exception in command None
    discord.ext.commands.errors.CommandNotFound: Command "help" is not found

这是我在 main.py 中的代码

#Library of imports
#---------------------------------------------------#
#Basic DC stuff
import discord
from discord.ext import commands, tasks
from discord.utils import find
#On message
from discord import Message
#OS
from dotenv import load_dotenv
from os import getenv
import os
#Status etc.
import math
import random
from random import choice
#Date & Time
import datetime
import time
#Misc
import functools
import itertools
import asyncio
from async_timeout import timeout
#Uptime
from keepalive import keepalive
#My imports
import settings
from settings import DISCORD_TOKEN

#---------------------------------------------------#
#intents = discord.Intents.all() #stopped for the moment, doesn't work - working version implemented in line 44 "intents=discord.Intents()"
intents = discord.Intents.default()
intents.members = True
intents.message_content = True
#-------------------Loads---------------------------#
load_dotenv()
status = [
    "sheep noises", "Fujara", "Life", "Horse nagging", "Sheep bliating",
    "Sheep™", "Sheep Simulator"
]

bot = commands.Bot(command_prefix='$',
                   case_insensitive=True,
                   help_command=None,
                   intents=intents)

initial_extensions = [
    'embed',
    'ent',
    'help',
    'music',
]

if __name__ == "__main__":
    for extension in initial_extensions:
       bot.load_extension(extension)


#---------------------------------------------------#
#Ready event htps
@bot.event
async def on_ready():
    change_status.start()
    print(f'Logged in as {bot.user} (ID: {bot.user.id})')
    print(datetime.datetime.now())
    print(f'Ping: {round(bot.latency * 1000)}ms')
    print('--------------------------------------------------------')


@bot.event
async def on_guild_join(guild):
    general = find(lambda x: x.name == 'general', guild.text_channels)
    embed = discord.Embed(title=("**Hello-{}!**".format(guild.name)),
                          colour=discord.Colour.dark_purple(),
                          description="Prefix[!]")
    embed.set_footer(text="Sheep™")
    if general and general.permissions_for(guild.me).send_messages:
        await general.send(embed=embed)


#----------------------commands-----------------------------------#
#Bot stop command - add embed
@bot.command(name='botstop', aliases=['bstop', 'end'])
@commands.is_owner()
async def botstop(ctx):
    print('Commiting sudoku')
    await ctx.send('I committed sudoku')
    await bot.logout()
    return


#Clear command
@bot.command(aliases=['purge', 'delete'])
@commands.has_permissions(manage_messages=True)
async def clear(ctx, amount: int):
    if amount == None:
        await ctx.channel.purge(limit=1000000)
    else:
        await ctx.channel.purge(limit=amount)


#Ping command - embed
@bot.command(name="ping", pass_context=True)
async def ping(ctx):
    embed = discord.Embed(title="**PING**",
                          colour=discord.Colour.dark_purple(),
                          description=(f'{round(bot.latency * 1000)}ms'))
    embed.set_footer(text="Sheep™")
    embed.set_author(name=ctx.author.display_name, icon_url=ctx.author.avatar)
    await ctx.send(embed=embed)


#Task loop for chg
@tasks.loop(seconds=2)
async def change_status():
    await bot.change_presence(activity=discord.Game(choice(status)))


#-------------------------Function startup------------------------#

keepalive()
bot.run(DISCORD_TOKEN)

这是我在示例 cog 中的代码。

#Library of imports
#---------------------------------------------------#
import discord
from discord.ext import commands
from discord import Message

#---------------------------------------------------#


#----------------------COG--------------------------#
class MyCog(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    #Default help command
    @commands.command()
    async def help(self, ctx):
        embed = discord.Embed(title="Sheep™",
                              url="https://youtu.be/EuGRKqTwbVI",
                              description="** **",
                              colour=discord.Colour.dark_purple())
        embed.set_author(name=ctx.author.display_name,
                         icon_url=ctx.author.avatar_url)
        embed.set_thumbnail(
            url=
            "https://www.visitliptov.sk/wp-content/uploads/2021/05/LIPTOV-LOGO_white-2048x2048.png"
        )

        embed.add_field(
            name="**HELP**",
            value="This command shows functions of every command. Prefix{!}",
            inline=False)
        embed.add_field(name="**Admin**",
                        value="|`Load`|`Unload`|`Reload`|`Status`|`Botstop`|",
                        inline=True)
        embed.add_field(name="**Fun**",
                        value="|`Embed`|`Sheep`|`Date`|",
                        inline=True)
        embed.add_field(name="**Misc**",
                        value="|`Ping`|`Uptime`|`Clear`|`Avatar`|",
                        inline=True)
        embed.add_field(name="**Music**", value="|`WIP`|", inline=False)
        embed.set_footer(text="Sheep™")
        await ctx.send(embed=embed)


def setup(bot):
    bot.add_cog(MyCog(bot))



问题暂未有回复.您可以查看右边的相关问题.
1 Discord py cogs 未加载命令

我制作了一个 discord 机器人,其中包含一个主文件和另一个加载了 cogs 的命令文件,问题是命令没有加载。 我简化了代码 triny 以解决错误,但即使这样也不起作用: 机器人.py:import discord from discord.ext import commands impor ...

3 找不到命令错误 - cogs - discord.py

所以我尝试在我的代码中添加 cogs 以使其更简洁,但我很快遇到了一个奇怪的问题; 让我向您展示我挑选出来的代码示例: 这是我的 main.py 文件。 这是我的齿轮: 问题是,当我在我的测试 Discord 服务器中运行代码并输入“s!hello”时 - 包含“此命令不存在”的错误块。 ...

4 在 discord.py 重写中使用 Cogs

我正在尝试在 discord.py 中使用 cogs 并按照 youtube 指南进行操作,我按照指南进行操作,但是出现错误这是我的主要 bot.py 文件 这是我的 Cog example.py 我的 Cog 位于同一目录中名为 cogs 的文件夹中,但是当我运行 bot.py 文件时出现此错误 ...

5 discord.py 在齿轮中使用 JSON?

我最近一直在研究 Discord 机器人,我所有的命令都在一个 py 文件中。 我目前正在尝试为我的机器人实现 cogs,因为我的计划是让它 24/7 和公开运行,所以如果出现故障,我可以轻松修复它而无需关闭整个机器人(并且也使脚本本身更清洁和组织)。 我对使用 JSON 和 cogs 比较陌生, ...

6 Discord.py 机器人无法识别来自 cogs 的命令

我一直试图弄清楚齿轮如何与 discord.py 重写一起工作,我设法让机器人只使用一个齿轮。 问题是,机器人可以识别来自一个 cog 的命令,但不能识别另一个。 在 bot.py 中导入bot.py 这里里面basic.py命令似乎有效 mod.py output中的命令 有人知道如何解决这个问 ...

7 齿轮不和谐.py

我正在尝试将我的 discord.py 代码移动到齿轮中。 我不断收到相同的错误Exception has occurred: ModuleNotFoundError No module named 'cogs' 。 bot.py maincog.py 文件夹: 谢谢! ...

8 DIscord.py 齿轮

我在一个 main.py 中编写了我的机器人。 但是,当我查看代码以更改某些内容时,这很难。我尝试搜索并找到有关 cogs。我正在尝试使用 cogs 组织我的 discord.py 机器人并得到以下错误 我的 Cats.py 是 我正在使用将 cogs 添加到 main.py 请帮助提前谢谢 ...

10 使用 cogs 时使用 discord.py 的命令组(子命令)

在使用 cogs 时如何在 discord.py 中使用命令组(子命令)? 会不会和平时一样? 不使用齿轮的正常含义? 还是我必须做一些额外的事情。 我查看了 discord.py 文档,但似乎找不到任何东西。 如果有人可以向我展示如何使用带有 cogs 的命令组的示例,那就太好了。 我尝试了以下 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM