不使用Discord模块吗?

时间:2019-07-14 04:05:29

标签: python-3.7 discord.py-rewrite

我在这里比较困惑,在尝试研究答案时,我似乎没有找到对我有意义的东西。我创建了一个由5个嵌齿轮组成的discord机器人,每一个中我import discord, os, and from discord.ext import commands在其他各种嵌齿轮中我import其他模块,例如random,但视情况而定常见的。

问题在于,在每个模块中,import discord都是灰色的(PyCharm IDE),表明从未使用过。尽管如此,我的机器人仍然运行完美。我似乎无法使用wait_for()命令之类的功能,我想是因为它在discord模块中吗?我是否需要正确设置才能使用此功能?

我将发布初始启动模块和另一个模块的一小段代码,而不是列表模块。如果您需要更多信息,请告诉我。

初始启动:

import discord
import os
from discord.ext import commands

token = open("token.txt", "r").read()

client = commands.Bot(command_prefix = '!')

@client.command()
async def load(ctx, extension):
    client.load_extension("cogs." + extension)

@client.command()
async def unload(ctx, extension):
    client.unload_extension("cogs." + extension)

for filename in os.listdir("./cogs"):
    if filename.endswith('.py'):
        client.load_extension("cogs." + filename[:-3])

client.run(token)

另一个模块:

import discord
from discord.ext import commands
import os
import json
from pathlib import Path

class Sheet(commands.Cog):

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


    @commands.command()
    @commands.dm_only()
    async def viewchar(self, ctx):

         #Snipped code here to make it shorter.
         pass

    @viewchar.error
    async def stats_error(self, ctx, error):
        if isinstance(error, commands.PrivateMessageOnly):
            await ctx.send("You're an idiot, now everyone knows. Why would you want to display your character sheet "
                           "in a public room? PM me with the command.")
        else:
            raise error

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

1 个答案:

答案 0 :(得分:0)

这只是意味着您的代码没有在任何地方直接引用discord模块。您可以通过commands模块来获取所有内容。

您可以从代码中删除import discord而不会破坏任何内容,因为依赖它的代码仍会在后台导入并使用。