failedToScan="Failed to scan your link! This may be due to an incorrect link, private/suspended account, deleted tweet, or recent changes to Twitter's API (Thanks, Elon!)."
failedToScanExtra = "\n\nTwitter gave me this error: "
tweetNotFound="Tweet not found."
unknownError="Unknown Error"
tweetSuspended="This Tweet is from a suspended account." 

videoDescLimit=220
tweetDescLimit=340

def genLikesDisplay(vnf):
    if vnf['rts'] > 0:
        return ("\n\n💖 " + str(vnf['likes']) + " 🔁 " + str(vnf['rts']))
    else:
        return ("\n\n💖 " + str(vnf['likes']))

def genQrtDisplay(qrt):
    verifiedCheck = "☑️" if ('verified' in qrt and qrt['verified']) else ""
    return ("\n【QRT of " + qrt['uploader'] + " (@" + qrt['screen_name'] + ")"+ verifiedCheck+":】\n'" + qrt['description'] + "'")

def genPollDisplay(poll):
    pctSplit=10
    output="\n\n"
    for choice in poll["choices"]:
        output+=choice["text"]+"\n"+("█"*int(choice["percent"]/pctSplit)) +" "+str(choice["percent"])+"%\n"
    return output

def formatEmbedDesc(type,body,qrt,pollDisplay,likesDisplay):
    # Trim the embed description to 248 characters, prioritizing poll and likes

    limit = videoDescLimit if type=="" or type=="Video" or (qrt!=None and (qrt["type"]=="" or qrt["type"]=="Video")) else tweetDescLimit

    output = ""
    if pollDisplay==None:
        pollDisplay=""

    if qrt!=None:

        qrtDisplay=genQrtDisplay(qrt)
        if 'id' in qrt and ('https://twitter.com/'+qrt['screen_name']+'/status/'+qrt['id']) in body:
            body = body.replace(('https://twitter.com/'+qrt['screen_name']+'/status/'+qrt['id']),"")
            body = body.strip()
        body+=qrtDisplay
        qrt=None

    if type=="" or type=="Video":
        output = body+pollDisplay+likesDisplay
    elif qrt==None:
        output= body+pollDisplay+likesDisplay
    else:
        output= body + likesDisplay
    if len(output)>limit:
        # find out how many characters we need to remove
        diff = len(output)-limit
        # remove the characters from body, add ellipsis
        body = body[:-(diff+1)]+"…"
        return formatEmbedDesc(type,body,qrt,pollDisplay,likesDisplay)
    else:
        return output