discord.py:标高系统-齿轮

discord.py:标高系统-齿轮,discord.py,discogs-api,Discord.py,Discogs Api,每当我尝试运行下面的代码时,它似乎就是不起作用。我对这一切都很陌生 import discord from discord.ext import commands import json client = commands.Bot(command_prefix='') class lvls(commands.Cog): def __init__(self, bot): self.bot = bot @commands.Cog.listener asyn

每当我尝试运行下面的代码时,它似乎就是不起作用。我对这一切都很陌生

import discord
from discord.ext import commands
import json
client = commands.Bot(command_prefix='')

class lvls(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.Cog.listener
    async def on_member_join(self, member):
        with open(r"C:\Users\Frank\Desktop\BOTZS\test.py", 'r') as f:
            users = json.load(f)

        await update_data(users, member)

        with open('LvlUP.json', 'w') as f:
            json.dump(users, f)

    @commands.Cog.listener()
    async def on_message(self, message):
        if message.author.bot == False:
            with open('LvlUP.json', 'r') as f:
                users = json.load(f)

            await update_data(users, message.author)
            await add_experience(users, message.author, 5)
            await level_up(users, message.author, message)

            with open('LvlUP.json', 'w') as f:
                json.dump(users, f)

    async def update_data(self, users, user):
        if not f'{user.id}' in users:
            users[f'{user.id}'] = {}
            users[f'{user.id}']['experience'] = 0
            users[f'{user.id}']['level'] = 1

    async def add_experience(self, users, user, exp):
        users[f'{user.id}']['experience'] += exp

    async def level_up(self, users, user, message):
        experience = users[f'{user.id}']['experience']
        lvl_start = users[f'{user.id}']['level']
        lvl_end = int(experience ** (1 / 4))
        if lvl_start < lvl_end:
            embed = discord.Embed(title="**LEVEL UP!**",
                                  description=f'{user.mention} has leveled up to level {lvl_end}! :fire: 'f'\n Soundwave Superior,{user.mention} Inferior ',
                                  color=discord.Color.dark_red())
            embed.set_thumbnail(url=user.avatar_url)
            users[f'{user.id}']['level'] = lvl_end
            await message.channel.send(embed=embed)


def setup(client):
    client.add_cog(lvls(client))
导入不一致
从discord.ext导入命令
导入json
client=commands.Bot(命令前缀=“”)
类lvls(commands.Cog):
def uuu init uuuu(自我,机器人):
self.bot=bot
@commands.Cog.listener
成员加入时的异步定义(自身、成员):
将open(r“C:\Users\Frank\Desktop\BOTZS\test.py,'r')作为f:
users=json.load(f)
等待更新_数据(用户、成员)
以open('LvlUP.json','w')作为f:
json.dump(用户,f)
@commands.Cog.listener()
_消息上的异步定义(self,message):
如果message.author.bot==False:
以open('LvlUP.json','r')作为f:
users=json.load(f)
等待更新_数据(用户,message.author)
等待添加体验(用户,message.author,5)
等待级别(用户、message.author、message)
以open('LvlUP.json','w')作为f:
json.dump(用户,f)
异步def更新_数据(自身、用户、用户):
如果在用户中不是f{user.id}:
用户[f'{user.id}']={}
用户[f'{user.id}']['experience']=0
用户[f'{user.id}']['level']=1
异步def添加体验(自我、用户、用户、经验):
用户[f'{user.id}']['experience']+=exp
异步def级别(自我、用户、用户、消息):
经验=用户[f'{user.id}']['experience']
lvl_start=users[f'{user.id}']['level']
第二层=内部(经验**(1/4))
如果lvl_开始
您需要为
命令.Cog.listener添加
()

#您的代码
@commands.Cog.listener()
成员加入时的异步定义(自身、成员):
#你的代码
您需要在文件末尾设置客户端:

#您的代码
设置(客户端)
安装后,您需要运行客户端:

#您的代码
设置(客户端)
client.run(“您的令牌”)#为bot设置您的令牌
完整代码如果您不理解我的评论:

导入不一致
从discord.ext导入命令
导入json
client=commands.Bot(命令前缀=“”)
类lvls(commands.Cog):
def uuu init uuuu(自我,机器人):
self.bot=bot
@commands.Cog.listener()
成员加入时的异步定义(自身、成员):
将open(r“C:\Users\Frank\Desktop\BOTZS\test.py,'r')作为f:
users=json.load(f)
等待更新_数据(用户、成员)
以open('LvlUP.json','w')作为f:
json.dump(用户,f)
@commands.Cog.listener()
_消息上的异步定义(self,message):
如果message.author.bot==False:
以open('LvlUP.json','r')作为f:
users=json.load(f)
等待更新_数据(用户,message.author)
等待添加体验(用户,message.author,5)
等待级别(用户、message.author、message)
以open('LvlUP.json','w')作为f:
json.dump(用户,f)
异步def更新_数据(自身、用户、用户):
如果在用户中不是f{user.id}:
用户[f'{user.id}']={}
用户[f'{user.id}']['experience']=0
用户[f'{user.id}']['level']=1
异步def添加体验(自我、用户、用户、经验):
用户[f'{user.id}']['experience']+=exp
异步def级别(自我、用户、用户、消息):
经验=用户[f'{user.id}']['experience']
lvl_start=users[f'{user.id}']['level']
第二层=内部(经验**(1/4))
如果lvl_开始
我希望这对你有帮助

UPD:尝试为您的函数添加
self.

#关于"会员"加入
等待自我更新_数据(用户、成员)
#论信息
等待自我更新数据(用户、消息、作者)
等待自我。添加经验(用户,message.author,5)
等待自我升级(用户、message.author、message)

请阅读-总结是,这不是向志愿者讲话的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。对不起!我会更小心的!