Compare commits

...

3 commits

Author SHA1 Message Date
nsde e21ecaa619 began with the reset_key command. It's still a bit fucked 2023-09-20 00:46:20 +02:00
henceiusegentoo 3a4b866eec Integration 2023-09-20 00:00:02 +02:00
henceiusegentoo 3005032489 Working on the reset_key 2023-09-19 23:58:20 +02:00
11 changed files with 47 additions and 0 deletions

0
cord/__main__.py Normal file → Executable file
View file

44
cord/accounts.py Normal file → Executable file
View file

@ -3,6 +3,8 @@
import os
import json
import requests
import string
import random
import embedder
@ -122,3 +124,45 @@ Please report this issue to the staff!""", ephemeral=True)
raise exc
await embedder.ok(interaction, f"""Successfully set the credits of {user.name} to **{amount}**.""", ephemeral=True)
async def reset_key(interaction):
return await embedder.error(interaction, """Not finished yet""", ephemeral=True)
try:
account = await get_account(interaction)
if not account:
await embedder.error(interaction, """It seems like you don't have an account yet.""", ephemeral=True)
requests.put(
url=f'http://localhost:2333/users',
timeout=3,
headers={
'Content-Type': 'application/json',
'Authorization': os.getenv('CORE_API_KEY')
},
data=json.dumps({
"discord_id": account["auth"]["discord"],
"updates": {"$set": {"api_key": await new_api_key()}}
})
)
await embedder.ok(interaction, f"""Successfully reset your key!""", ephemeral=True)
except Exception as exc:
await embedder.error(interaction, """Sorry, there was an error while resetting your key.
Please report this issue to the staff!""", ephemeral=True)
raise exc
async def new_api_key() -> str:
chars = string.ascii_letters + string.digits
infix = os.getenv('KEYGEN_INFIX')
suffix = ''.join(random.choices(chars, k=20))
prefix = ''.join(random.choices(chars, k=20))
new_api_key = f'nv-{prefix}{infix}{suffix}'
return new_api_key

0
cord/api.py Normal file → Executable file
View file

0
cord/autochat.py Normal file → Executable file
View file

3
cord/bot.py Normal file → Executable file
View file

@ -124,6 +124,9 @@ async def music(interaction: nextcord.Interaction):
return await embedder.ok(interaction, text)
return await embedder.error(interaction, 'No one is listening to anything right now.')
@bot.slash_command(description='Get yourself a new API key')
async def resetkey(interaction: nextcord.Interaction):
return await accounts.reset_key(interaction)
async def status_update():
guild = bot.get_guild(int(os.getenv('DISCORD_GUILD')))

0
cord/chatbot.py Normal file → Executable file
View file

0
cord/community.py Normal file → Executable file
View file

0
cord/credential_manager.py Normal file → Executable file
View file

0
cord/embedder.py Normal file → Executable file
View file

0
cord/tos_verification.py Normal file → Executable file
View file

0
cord/tutorials.py Normal file → Executable file
View file