Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 添加新代码后,Discord.py bot功能不起作用_Python_Bots_Global_Discord_Discord.py - Fatal编程技术网

Python 添加新代码后,Discord.py bot功能不起作用

Python 添加新代码后,Discord.py bot功能不起作用,python,bots,global,discord,discord.py,Python,Bots,Global,Discord,Discord.py,在我将注册和注册信息部分添加到代码中后,播放音乐的部分将停止工作。当我删除注册和注册信息部分时,我的音乐工作得非常好。我不知道music.py是做什么的,我是从youtube上的一个视频中得到的 相关代码块: #Bot Initiations KsBot = Bot(command_prefix ='//') startup_extensions = ["Music"] #Display Bot Info and Discord Version @KsBot.event async def o

在我将注册和注册信息部分添加到代码中后,播放音乐的部分将停止工作。当我删除注册和注册信息部分时,我的音乐工作得非常好。我不知道music.py是做什么的,我是从youtube上的一个视频中得到的

相关代码块:

#Bot Initiations
KsBot = Bot(command_prefix ='//')
startup_extensions = ["Music"]

#Display Bot Info and Discord Version
@KsBot.event
async def on_ready():
    print('Discord Version : ' + discord.__version__)
    print('Bot User Name : ' + KsBot.user.name)
    print('Bot ID : ' + KsBot.user.id)
    print('----------------------')
    print("Number of registered user in this server: " + str(numberOfMembers))

#Registration Info
registeredMembersFile = open("RegisteredMembers.txt")
registeredMembers = registeredMembersFile.read()
registeredMembers = ast.literal_eval(registeredMembers)
numberOfMembers = len(registeredMembers)
registeredMembersFile.close()

#Registration
@KsBot.event
async def on_message(message):
    if message.content.startswith("//register"):
        sender = message.author.id
        print("Registering ID " + sender + " ...")
        if sender in registeredMembers:
            await KsBot.send_message(message.author,"Registration Fail:Already a memmber")
            print("Registration Failed: Already a member")
        elif sender not in registeredMembers:
            print("User " + sender + " is not registered")
            registeredMembers[sender] = 1000
            registeredMembersFile = open("RegisteredMembers.txt",'w')
            registeredMembersFile.write(pprint.pformat(registeredMembers))
            registeredMembersFile.close()
            await KsBot.send_message(message.author,"Registration OK!")
            print("Registeration Successful")

#YetiGuy Music Bot
class Main_Commands():
        def __init__(self,bot):
            self.bot = bot

if __name__ == "__main__":
    for extension in startup_extensions:
        try:
            KsBot.load_extension(extension)
        except Exception as e:
            exc = '{}: {}'.format(type(e).__name__,e)
            print("Failed to load extension {}\n{}".format(extension,exc))
python和discord.py仍然相对较新,请发送帮助:

注意:不要担心令牌和客户端机密,我已经更改了这一点,以防有人有类似的问题,我将在这里重写答案


答:问题是您使用命令方式和on_消息方式创建命令。要解决此问题,您可以使用commands命令替换on_message命令,或者在on_message中的命令if语句后添加wait bot.process_commands消息

可能您使用的变量与music.py中的相同,请尝试检查that@DevOps是的,我查过了,似乎没有任何相同的变量您在哪里添加注册和注册信息?@DevOps KsBot的第29行。py@LegacyKS问题是,您既使用命令方式,也使用on_消息方式来创建命令。若要解决此问题,您可以用commands命令替换on_message命令,或者在on_messagePS中的command if语句后添加wait bot.process_commands消息抱歉在注释中回答,我无法将其放入实际答案中,因为您的问题已标记为“非主题”