guild_access_token.py 967 B

12345678910111213141516171819
  1. import datetime, asyncpg
  2. from common.datetime import min10min
  3. from query.guild import update_guild
  4. async def get_active_token(pg, guild_id):
  5. return await pg.fetchrow("SELECT * FROM guild_access_token WHERE guild=$1 AND created > $2", guild_id, min10min(datetime.datetime.now()))
  6. async def upsert_token(pg, guild_id, user_id, token):
  7. print(token)
  8. print("INSERT INTO guild_access_token(guild, \"user\", token) VALUES($1, $2, $3)", guild_id, user_id, token)
  9. try:
  10. await pg.execute("INSERT INTO guild_access_token(guild, \"user\", token) VALUES($1, $2, $3)", guild_id, user_id, [token])
  11. # ON CONFLICT() DO UPDATE SET \"user\"=$1 AND token=$2", user_id, token)
  12. except asyncpg.exceptions.ForeignKeyViolationError:
  13. await update_guild(self.bot.pg, message.guild)
  14. await pg.execute("INSERT INTO guild_access_token(guild, \"user\", token) VALUES($1, $2, $3)", guild_id, user_id, token)
  15. # ON CONFLICT() DO UPDATE SET \"user\"=$1 AND token=$2", user_id, token)