添加新代码后 Discord.py 机器人功能不起作用



https://github.com/legacyks/KsBot

将 #registration 和 #registration 信息部分添加到代码后,播放音乐的部分停止工作。 当我删除 #registration 和 #registration 信息部分时,我的音乐工作得很好。我不知道 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 来说还比较新,请发送帮助:(

注意:Dun 担心令牌和客户端机密,我已经更改了

以防万一有人有类似的问题,我将在这里重写答案

:问题是您同时使用commands方式和on_message创建命令的方式。要解决此问题,您可以将on_message命令替换为commands命令,或者在命令 if 语句后添加await bot.process_commands(message)on_message

最新更新