Почему участок кода мешает другому участку кода работать?
@client.event
async def on_message(message):
await client.process_commands(message)
with open ('C:\\Users\\Administrator\\Desktop\\server\\lvl.json', 'r') as f:
users = json.load(f)
async def update_data(users,user):
if not user in users:
users[user] = {}
users[user]['exp'] = 0
users[user]['lvl'] = 1
async def add_exp(users,user,exp):
users[user]['exp'] += exp
async def add_lvl(users, user):
pls = users [user]['exp']
vls = users [user]['lvl']
if pls > vls:
await message.channel.send(f'{message.author.mention}Получает {vls} уровень')
users[user]['exp'] = 0
users[user]['lvl'] = vls + 1
await update_data(users, str(message.author.id))
await add_exp(users,str(message.author.id),0.1)
await add_lvl(users,str(message.author.id))
#await вызывает функцию
with open ('C:\\Users\\Administrator\\Desktop\\server\\lvl.json', 'w') as f:
json.dump(users,f)
Этот участок мешает работать другому участку кода
cxs = ['пока', 'привет']
@client.event
async def on_message(message):
if message.author == client.user:
return
else:
content = message.content.split()
for word in content:
if word in cxs:
await message.delete()
await client.process_comand(message)
Ответы (1 шт):
Автор решения: LeonidM
→ Ссылка
Насколько мне известно, определённое событие можно обрабатывать только в одной функции. По крайней мере, у меня была аналогичная ситуация, но когда я обе функции объединил в одну, то всё сразу стало работать.