Сделать список в discord.py, в который можно добавлять свои элементы
Идея такова, нужно создать бота с помощью discord.py который будет создавать список игр, и для каждой игры нужно в отдельности выводить, кто в нее хочет сыграть. Я не очень понимаю как это обьяснить, поэтому просто покажу как это примерно будет выглядеть: людей я буду обозначать Польз1, Польз2, Польз3 и т.д.
Польз1: !list
Бот: Список пуст!
Польз1: !add Brawlhalla
Бот: Brawlhalla добавлена в список!
Польз2: !add The Forest
Бот: The Forest добавлена в список!
Польз2:!add Brawlhalla
Бот: Brawlhalla добавлена в список!
Польз3:!list
Бот: Brawlhalla: Польз1, Польз2
The Forest: Польз2
Прошу хотя бы примерно подсказать, как я это должен сделать. Пытался с помощью массивов, но не получилось. Буду рад любой помощи.
Ответы (2 шт):
Автор решения: xZartsust
→ Ссылка
@client.command()
async def add(ctx, game: str):
global game1
global game2
game1 = []
game2 = []
if game == 'Brawlhalla':
game1.append(ctx.message.author)
await ctx.send('Brawlhalla добавлена в список!')
if game == 'The Forest':
game2.append(ctx.message.author)
await ctx.send('The Forest добавлена в список!')
@client.command()
async def list(ctx):
if game1 and game2 is None:
await ctx.send('Список пуст!')
else:#при умови если два массива не пустые
for i in range(len(game1)):
await ctx.send('Brawlhalla', game1[i])
for i in range(len(game2)):
await ctx.send('The Forest', game2[i])
Это самий простой и не оптимизированный способ!!!
Автор решения: fr00kt
→ Ссылка
game_list = {}
@bot.command(name='list')
async def print_list(context):
if not game_list:
await context.send('Список пуст!')
else:
for game, users in game_list.items():
await context.send(f'{game}: {users}')
@bot.command(name='add')
async def add_game(context, game):
users = ''
if not game_list.get(game):
game_list[game] = context.author.name
else:
users += str(game_list.get(game))
users += f', {context.author.name}'
game_list[game] = users
await context.send(f'{game} добавлена')