async def _token(client, message): token = message.text.split()[-1] WORD = len(token) if WORD == 62 and token[1] == "/": creds = None global flow if flow: try: user_id = message.from_user.id sent_message = await message.reply_text( "🕵️**Checking received code...**", quote=True) creds = flow.step2_exchange(message.text) gDriveDB._set(user_id, creds) LOGGER.info(f'AuthSuccess: {user_id}') await sent_message.edit(Messages.AUTH_SUCCESSFULLY) flow = None except FlowExchangeError: await sent_message.edit(Messages.INVALID_AUTH_CODE) except Exception as e: await sent_message.edit(f"**ERROR:** ```{e}```") else: await message.reply_text(Messages.FLOW_IS_NONE, quote=True)
async def _auth(client, message): user_id = message.from_user.id creds = gDriveDB.search(user_id) if creds is not None: creds.refresh(Http()) gDriveDB._set(user_id, creds) await message.reply_text(Messages.ALREADY_AUTH, quote=True) else: global flow try: flow = OAuth2WebServerFlow(G_DRIVE_CLIENT_ID, G_DRIVE_CLIENT_SECRET, OAUTH_SCOPE, redirect_uri=REDIRECT_URI) auth_url = flow.step1_get_authorize_url() LOGGER.info(f'AuthURL:{user_id}') await message.reply_text( text=Messages.AUTH_TEXT.format(auth_url), quote=True, reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton("Authorization URL", url=auth_url)]])) except Exception as e: await message.reply_text(f"**ERROR:** ```{e}```", quote=True)