mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-12 16:50:10 +00:00
31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
|
|
import logging
|
||
|
|
from discord import DMChannel
|
||
|
|
|
||
|
|
from pluralkit.bot.commands import CommandContext, CommandSuccess
|
||
|
|
|
||
|
|
logger = logging.getLogger("pluralkit.commands")
|
||
|
|
disclaimer = "Please note that this grants access to modify (and delete!) all your system data, so keep it safe and secure. If it leaks or you need a new one, you can invalidate this one with `pk;token refresh`."
|
||
|
|
|
||
|
|
async def reply_dm(ctx: CommandContext, message: str):
|
||
|
|
await ctx.message.author.send(message)
|
||
|
|
|
||
|
|
if not isinstance(ctx.message.channel, DMChannel):
|
||
|
|
return CommandSuccess("DM'd!")
|
||
|
|
|
||
|
|
async def get_token(ctx: CommandContext):
|
||
|
|
system = await ctx.ensure_system()
|
||
|
|
|
||
|
|
if system.token:
|
||
|
|
token = system.token
|
||
|
|
else:
|
||
|
|
token = await system.refresh_token(ctx.conn)
|
||
|
|
|
||
|
|
token_message = "Here's your API token: \n**`{}`**\n{}".format(token, disclaimer)
|
||
|
|
return await reply_dm(ctx, token_message)
|
||
|
|
|
||
|
|
async def refresh_token(ctx: CommandContext):
|
||
|
|
system = await ctx.ensure_system()
|
||
|
|
|
||
|
|
token = await system.refresh_token(ctx.conn)
|
||
|
|
token_message = "Your previous API token has been invalidated. You will need to change it anywhere it's currently used.\nHere's your new API token:\n**`{}`**\n{}".format(token, disclaimer)
|
||
|
|
return await reply_dm(ctx, token_message)
|