I am doing a program for 1 game, which will parse info from website and send it in discord, but it doesnt accept argument player_name.
@interactions.slash_command(
name="stats",
description="Показывает статистику игрока"
)
@interactions.option(
name="Имя",
description = "Имя игрока"
)
async def player_stats(ctx: interactions.SlashContext, text: str):
if text:
player_data = PlayerData(text)
player_data.fetch_data()
image_filename = "chart.png"
try:
if os.path.exists(image_filename):
os.remove(image_filename)
except PermissionError:
if 'file' in locals():
file.fp.close()
points_data = player_data.get_points()
time_data = player_data.get_time()
maps_data = player_data.get_maps()
map_types_data = player_data.get_map_types()
if 'удалось' in map_types_data:
val = f'Не удалось получить информацию о {text}.'
await ctx.send(content=f"Не удалось получить информацию о {text}")
else:
val = '\n'.join(map_types_data)
if 'удалось' in val:
pass
else:
image_buffer = generate_pie_chart(map_types_data)
with open(image_filename, "wb") as f:
f.write(image_buffer.read())
embed = interactions.Embed(
title=f'Статистика для {text}',
color=0x08B9F9
)
embed.add_field(name='Очки', value=points_data, inline=False)
embed.add_field(name='Время в игре', value=time_data, inline=False)
embed.add_field(name='Карты', value=val, inline=False)
if 'удалось' in val:
pass
else:
with open(image_filename, "rb") as f:
file = interactions.File(f)
embed.set_image(url="attachment://chart.png")
await ctx.send(embed=embed, file=file)
else:
await ctx.send("Необходимо указать имя игрока.")
@bot.event
async def on_ready():
print("Ready!")
# Start the interactions client
bot.start()
Error message:
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\interactions\client\client.py", line 1900, in __dispatch_interaction
response = await callback
File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\interactions\client\client.py", line 1771, in _run_slash_command
return await command(ctx, **ctx.kwargs)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\interactions\models\internal\command.py", line 132, in __call__
await self.call_callback(self.callback, context)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\interactions\models\internal\application_commands.py", line 833, in call_callback
return await self.call_with_binding(callback, ctx, *new_args, **new_kwargs)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\interactions\models\internal\callback.py", line 43, in call_with_binding
return await callback(*args, **kwargs)
TypeError: player_stats() missing 1 required positional argument: 'player_name'