Python 添加新代码后,Discord.py bot功能不起作用
在我将注册和注册信息部分添加到代码中后,播放音乐的部分将停止工作。当我删除注册和注册信息部分时,我的音乐工作得非常好。我不知道music.py是做什么的,我是从youtube上的一个视频中得到的 相关代码块: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
#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消息抱歉在注释中回答,我无法将其放入实际答案中,因为您的问题已标记为“非主题”