|
16 | 16 | from utils.register import register |
17 | 17 | from utils.role_management import RoleManagement |
18 | 18 | from utils.server_settings import get_guild, update_guild |
| 19 | +from utils.users import get_users_csv |
19 | 20 | from utils.voice_channel import create_voice_channel |
20 | 21 | from utils.voice_channels import add_voice_channel |
21 | 22 |
|
@@ -84,6 +85,24 @@ async def username_autocomplete( |
84 | 85 | for player in users.scalars() |
85 | 86 | ] |
86 | 87 |
|
| 88 | + |
| 89 | + @group.command(name="export", description="Export all registered users") |
| 90 | + @app_commands.guild_only() |
| 91 | + @app_commands.default_permissions(administrator=True) |
| 92 | + @app_commands.checks.has_permissions(administrator=True) |
| 93 | + async def export_registered_users(self, interaction: discord.Interaction) -> None: |
| 94 | + """Export all registered users""" |
| 95 | + await interaction.response.defer() |
| 96 | + if interaction.guild is None: |
| 97 | + return # is already set to guild_only |
| 98 | + async with self.bot.db.create_session() as session: |
| 99 | + total, registered_users = await get_users_csv(session, interaction.guild_id) |
| 100 | + if total <= 0: |
| 101 | + await interaction.followup.send("There are currently no registered users", ephemeral=True) |
| 102 | + return |
| 103 | + await interaction.followup.send("Registered users:", ephemeral=True, file=registered_users) |
| 104 | + |
| 105 | + |
87 | 106 | @group.command(name="unregister", description="Unregister a user") |
88 | 107 | @app_commands.describe(username="EA username") |
89 | 108 | @app_commands.guild_only() |
|
0 commit comments