| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import discord.ext.commands as discord_cmds
- import myanimebot.utils as utils
- import myanimebot.globals as globals
- import myanimebot.commands.permissions as permissions
- import myanimebot.commands.converters as converters
- @discord_cmds.command(name="delete")
- @discord_cmds.check(permissions.in_allowed_role)
- async def delete_user_cmd(ctx, service : converters.to_service, user : str):
- ''' Processes the command "delete" and remove a registered user '''
- server = ctx.guild
- server_id = str(server.id)
-
- user_servers = utils.get_user_servers(user, service)
- # If user is not present in the database
- if user_servers is None:
- return await ctx.send("The user **" + user + "** is not in our database for this server!")
- # Else if present, update the servers for this user
- srv_string = utils.remove_server_from_servers(server_id, user_servers)
-
- if srv_string is None: # Server not present in the user's servers
- return await ctx.send("The user **" + user + "** is not in our database for this server!")
- if srv_string == "":
- utils.delete_user_from_db(user, service)
- else:
- utils.update_user_servers_db(user, service, srv_string)
- return await ctx.send("**{}** deleted from the database for this server.".format(user))
- @delete_user_cmd.error
- async def delete_user_cmd_error(ctx, error):
- ''' Processes errors from delete cmd '''
- if isinstance(error, discord_cmds.MissingRequiredArgument):
- return await ctx.send("Usage: {} add **{}**/**{}** **username**".format(globals.prefix, globals.SERVICE_MAL, globals.SERVICE_ANILIST))
- elif isinstance(error, discord_cmds.ConversionError):
- return await ctx.send('Incorrect service {}. Use **"{}"** or **"{}"** for example'.format(error.original, globals.SERVICE_MAL, globals.SERVICE_ANILIST))
|