@commands.command()
data = {}
data[f'intros'] = []
await ctx.send("**Let's create your intro...**")
await ctx.send("What's your name?")
name = await self.client.wait_for('message', check=lambda message: message.author == ctx.author)
await ctx.send("How old are you?")
age = await self.client.wait_for('message', check=lambda message: message.author == ctx.author)
await ctx.send("Where are you from?")
location = await self.client.wait_for('message', check=lambda message: message.author == ctx.author)
await ctx.send("What about your interests?")
interests = await self.client.wait_for('message', check=lambda message: message.author == ctx.author)
data['intros'][f'{ctx.author.id}']
{
'name': f'{name.content}',
'age': f'{age.content}',
'location': f'{location.content}',
'interests': f'{interests.content}'
}
})
with open('./cogs/intros.json', 'w') as outfile:
json.dump(data, outfile, indent=4)
{
"intros": [
{
"813285103757295666": {
"name": "a",
"age": "b",
"location": "c",
"interests": "d"
}
}
]
}
I'm creating a discord.py bot and I'm trying to create an intro system so that it will store the values in a json file(intro.json). The values are stored using the user id. When I execute the command it stores the values as I needed but when another user executes it, it overwrites the existing values.
I want it to create separate dicts everytime a user executes the command. How do I do so?