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

2024-10-02 18:20:49 发布

您现在位置:Python中文网/ 问答频道 /正文

https://github.com/legacyks/KsBot

在我的代码中添加“注册”和“注册信息”部分后,播放我的音乐的部分将停止工作。当我删除“注册”和“注册信息”部分时,我的音乐效果非常好。我不知道音乐.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和不和.py,请发送帮助:(

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


Tags: nameinmessageif音乐defbotextension
1条回答
网友
1楼 · 发布于 2024-10-02 18:20:49

如果有人有类似的问题,我会在这里重写答案

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

相关问题 更多 >