File size: 1,311 Bytes
4694180
 
 
 
 
 
 
 
 
 
51e1c40
982e098
 
4694180
982e098
6cef7ec
4694180
 
 
 
 
51e1c40
4694180
51e1c40
 
4694180
51e1c40
 
89ad488
4694180
 
51e1c40
4694180
 
 
 
 
982e098
4694180
 
51e1c40
 
4694180
51e1c40
4694180
51e1c40
4694180
 
51e1c40
4694180
6cef7ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from random import choice, randint, randrange

import qrcode
from captcha.image import ImageCaptcha

from Powers.database.captcha_db import CAPTCHA_DATA
from Powers.utils.string import encode_decode

captchaa = CAPTCHA_DATA()


async def get_qr_captcha(chat, user, username):
    initial = f"t.me/{username}?start=qr_"
    encode = f"{chat}:{user}"
    encoded = await encode_decode(encode)
    final = initial + encoded
    qr = qrcode.make(final)
    name = f"captcha_verification{chat}_{user}.png"
    qr.save(name)
    return name


def genrator():
    alpha = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l",
             "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
    rand_alpha = choice(alpha)
    if_ = randint(0, 1)

    new_alpha = rand_alpha.upper() if if_ else rand_alpha
    list_ = [new_alpha]
    while len(list_) != 4:
        xXx = randrange(0, 9)
        list_.append(xXx)

    str_ = ""
    while len(str_) != 4:
        OwO = choice(list_)
        str_ += str(OwO)
    return str_


async def get_image_captcha(chat, user):
    str_ = genrator()
    captchaa.load_cap_data(chat, user, str_)
    name = f"captcha_img_{chat}_{user}.png"
    image = ImageCaptcha(280, 90)

    cap = image.generate(str_)
    image.write(str_, name)

    return name, str_