У меня есть команда *профиль
В неё я хочу, чтобы участник сервера мог записать свои данные
Проблема в том, чтобы выводить персональные данные.
То есть когда человек пишет команду, нужно чтобы вывело именно его данные, которые он указал в сообщении, а не просто все данные из txt
Вот код:
# profile
@client.command(aliases = ['prof','profile','профиль'])
async def __profile(ctx, member: discord.Member):
author = ctx.message.author
now_date = datetime.datetime.now()
file = open('profile.txt', encoding = 'utf-8')
emb = discord.Embed(title = 'Профиль пользователя', color=0x20B2AA)
emb.add_field(name="Вошёл на сервер:",value=member.joined_at, inline=False)
emb.add_field(name='Псевдоним:',value=member.display_name, inline=False)
emb.add_field(name = 'Время пользователя' , value = '{}'.format(now_date), inline=False)
emb.add_field(name = 'День рождения' , value = f'{file.read()}', inline=False) # вывод данных
emb.set_thumbnail(url=member.avatar_url)
file.close()
await ctx.channel.purge(limit = 1)
await ctx.send(embed = emb)
# edit profile
@client.command(aliases = ['eprof','editprofile','свояинфа'])
async def __eprofile(ctx, message):
file = open('profile.txt', 'a', encoding = 'utf-8')
file.write(f"\n{message}") # запись данных
file.close()