Advertisement
l1von

sdfd

Jan 31st, 2021
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 15.91 KB | None | 0 0
  1. @bot.on.chat_message(lower=True, text=["g", "gen", "г", "/ген", "/g", "ген", "/gen", "/г"])
  2. async def gen(message: Message):
  3.     await addtobd(message.peer_id)
  4.     if message.from_id > 0:
  5.         text_length = len(message.text)
  6.         chat_path = f"{dir_to_txt}{message.peer_id}.txt"
  7.         picture_path = f"{dir_to_pic}{message.peer_id}.txt"
  8.  
  9.         with open(picture_path, encoding="utf8") as f:
  10.             pic_count = len(f.readlines())
  11.         with open(chat_path, encoding="utf8") as f:
  12.             text_lines = len(f.readlines())
  13.         q.execute(f"SELECT * FROM players WHERE id = {message.peer_id}")
  14.         result = q.fetchall()
  15.         status = result[0][1]
  16.         connection.commit()
  17.         if status == 1:
  18.             if text_lines >= 10 and pic_count >= 1:
  19.                 if message.peer_id not in dialogs or time.time() >= dialogs[message.peer_id]:
  20.                     print("ГЕНЕРИРУЕМ ПО КОМАНДЕ")
  21.                     with open(chat_path, encoding="utf8") as file:
  22.                         texts = file.read().splitlines()
  23.                     random_text = ''
  24.                     for i in range(random.randint(1, 3)):
  25.                         random_text = random_text + random.choice(texts) + ' '
  26.                     random_bottom_text = ''
  27.                     for i in range(random.randint(1, 5)):
  28.                         random_bottom_text = random_bottom_text + random.choice(texts) + ' '
  29.                     with open(picture_path, encoding="utf8") as file:
  30.                         pictures = file.read().splitlines()
  31.                     random_picture = random.choice(pictures)
  32.                     response = requests.get(random_picture)
  33.  
  34.                     random_filename = f"randomimg_{random.randint(0, 10000000000000000000000000)}.jpg"
  35.                     with open(random_filename, "wb") as f:
  36.                         f.write(response.content)
  37.  
  38.                     random_text_len = len(random_text)
  39.  
  40.                     dem_filename = f"result_{random.randint(0, 10000000000000000000000000)}.jpg"
  41.                     if random_text_len <= 80:
  42.                         dem = demcreate(random_text.lower(), random_bottom_text.lower())
  43.                         dem.makeImage(random_filename)
  44.                         dem.setline('@neurobalbes')
  45.                         photo1 = Image.open('demresult.jpg')
  46.                         photo1.save(dem_filename)
  47.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  48.                         await message(attachment=photo)
  49.                         os.remove(dem_filename)
  50.                         os.remove(random_filename)
  51.                         dialogs[message.peer_id] = time.time() + 30
  52.                         await logging(message.peer_id)
  53.                         return
  54.                     else:
  55.                         random_bottom_text_short = random_text[:80]
  56.                         dem = demcreate(random_text, random_bottom_text_short)
  57.                         dem.makeImage("randomimg.jpg")
  58.                         dem.setline('@neurobalbes')
  59.                         photo1 = Image.open('demresult.jpg')
  60.                         photo1.save(dem_filename)
  61.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  62.                         await message(attachment=photo)
  63.                         os.remove(dem_filename)
  64.                         os.remove(random_filename)
  65.                         dialogs[message.peer_id] = time.time() + 30
  66.                         await logging(message.peer_id)
  67.                         return
  68.  
  69.                 elif message.peer_id in dialogs and time.time() <= dialogs[message.peer_id]:
  70.                     await message(f'слишком рано\nжди еще {int(dialogs[message.peer_id]-time.time())} сек')
  71.             else:
  72.                 await message(
  73.                     "Недостаточно сообщений для генерации.\nНужное количество: 10 сообщений и 1 фотография"
  74.                 )
  75.         elif status == 4:
  76.             random_filename = f"randomimg_{random.randint(0, 10000000000000000000000000)}.jpg"
  77.             dem_filename = f"result_{random.randint(0, 10000000000000000000000000)}.jpg"
  78.             if text_lines >= 10 and pic_count >= 1:
  79.                 if message.peer_id not in dialogs or time.time() >= dialogs[message.peer_id]:
  80.                     print(message.from_id)
  81.                     print("ГЕНЕРИРУЕМ ПО КОМАНДЕ")
  82.                     with open(chat_path, encoding="utf8") as file:
  83.                         texts = file.read().splitlines()
  84.                     with open(picture_path, encoding="utf8") as file:
  85.                         pictures = file.read().splitlines()
  86.                     ll = random.randint(1, 10)
  87.                     if ll == 1:
  88.                         rndtxt = random.choice(texts)
  89.                         texts.remove(rndtxt)
  90.                         rndtxt2 = random.choice(texts)
  91.                         texts.remove(rndtxt2)
  92.                         if len(rndtxt) >= 30:
  93.                             rndtxt = rndtxt[:30]
  94.                         if len(rndtxt2) >= 30:
  95.                             rndtxt2 = rndtxt2[:30]
  96.                         photo1 = Image.open("mem.jpg")
  97.                         font = ImageFont.truetype("arialbd.ttf", size=30)
  98.                         idraw = ImageDraw.Draw(photo1)
  99.                         idraw.text((90, 5), rndtxt, font=font, fill='black')
  100.                         idraw.text((70, 82), rndtxt2, font=font, fill='black')
  101.                         photo1.save(dem_filename)
  102.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  103.                         await message(attachment=photo)
  104.                         os.remove(dem_filename)
  105.                         dialogs[message.peer_id] = time.time() + 5
  106.                     elif ll ==2:
  107.                         with open(picture_path, encoding="utf8") as file:
  108.                             pictures = file.read().splitlines()
  109.                         rndpic = random.choice(pictures)
  110.                         p = requests.get(rndpic)
  111.                         out = open(random_filename, "wb")
  112.                         out.write(p.content)
  113.                         out.close()
  114.                         rndpic = random.choice(pictures)
  115.                         photo1 = Image.open("mem3.jpg")
  116.                         user_img = Image.open(random_filename).convert("RGBA").resize((348, 231))
  117.                         photo1.paste(user_img, (367, 210))
  118.                         photo1.save(dem_filename)
  119.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  120.                         await message(attachment=photo)
  121.                         os.remove(dem_filename)
  122.                         os.remove(random_filename)
  123.                         dialogs[message.peer_id] = time.time() + 5
  124.                     elif ll ==3:
  125.                         with open(picture_path, encoding="utf8") as file:
  126.                             pictures = file.read().splitlines()
  127.                         rndpic = random.choice(pictures)
  128.                         p = requests.get(rndpic)
  129.                         out = open(random_filename, "wb")
  130.                         out.write(p.content)
  131.                         out.close()
  132.                         rndpic = random.choice(pictures)
  133.                         photo1 = Image.open("mem2.jpg")
  134.                         user_img = Image.open(random_filename).convert("RGBA").resize((595, 289))
  135.                         photo1.paste(user_img, (0, 304))
  136.                         photo1.save(dem_filename)
  137.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  138.                         await message(attachment=photo)
  139.                         os.remove(dem_filename)
  140.                         os.remove(random_filename)
  141.                         dialogs[message.peer_id] = time.time() + 5
  142.                     elif ll == 4:
  143.                         rndtxt = random.choice(texts)
  144.                         texts.remove(rndtxt)
  145.                         rndtxt2 = random.choice(texts)
  146.                         texts.remove(rndtxt2)
  147.                         if len(rndtxt) >= 30:
  148.                             rndtxt = rndtxt[:30]
  149.                         if len(rndtxt2) >= 30:
  150.                             rndtxt2 = rndtxt2[:30]
  151.                         photo1 = Image.open("2.jpg")
  152.                         font = ImageFont.truetype("arialbd.ttf", size=45)
  153.                         idraw = ImageDraw.Draw(photo1)
  154.                         idraw.text((50, 200), rndtxt, font=font, fill='black')
  155.                         photo1.save(dem_filename)
  156.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  157.                         await message(attachment=photo)
  158.                         os.remove(dem_filename)
  159.                         dialogs[message.peer_id] = time.time() + 5
  160.                     elif ll == 5:
  161.                         rndtxt = random.choice(texts)
  162.                         texts.remove(rndtxt)
  163.                         rndtxt2 = random.choice(texts)
  164.                         texts.remove(rndtxt2)
  165.                         if len(rndtxt) >= 20:
  166.                             rndtxt = rndtxt[:20]
  167.                         if len(rndtxt2) >= 20:
  168.                             rndtxt2 = rndtxt2[:20]
  169.                         photo1 = Image.open("1.jpg")
  170.                         font = ImageFont.truetype("arialbd.ttf", size=40)
  171.                         idraw = ImageDraw.Draw(photo1)
  172.                         idraw.text((125, 350), rndtxt, font=font, fill='black')
  173.                         photo1.save(dem_filename)
  174.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  175.                         await message(attachment=photo)
  176.                         os.remove(dem_filename)
  177.                         dialogs[message.peer_id] = time.time() + 5
  178.                     elif ll == 6:
  179.                         rndtxt = random.choice(texts)
  180.                         texts.remove(rndtxt)
  181.                         rndtxt2 = random.choice(texts)
  182.                         texts.remove(rndtxt2)
  183.                         if len(rndtxt) >= 20:
  184.                             rndtxt = rndtxt[:20]
  185.                         if len(rndtxt2) >= 20:
  186.                             rndtxt2 = rndtxt2[:20]
  187.                         photo1 = Image.open("4.jpg")
  188.                         font = ImageFont.truetype("arialbd.ttf", size=30)
  189.                         idraw = ImageDraw.Draw(photo1)
  190.                         idraw.text((120, 170), rndtxt, font=font, fill='black')
  191.                         photo1.save(dem_filename)
  192.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  193.                         await message(attachment=photo)
  194.                         os.remove(dem_filename)
  195.                         dialogs[message.peer_id] = time.time() + 5
  196.                     elif ll == 7:
  197.                         rndtxt = random.choice(texts)
  198.                         texts.remove(rndtxt)
  199.                         rndtxt2 = random.choice(texts)
  200.                         texts.remove(rndtxt2)
  201.                         if len(rndtxt) >= 20:
  202.                             rndtxt = rndtxt[:20]
  203.                         if len(rndtxt2) >= 20:
  204.                             rndtxt2 = rndtxt2[:20]
  205.                         photo1 = Image.open("7.jpg")
  206.                         font = ImageFont.truetype("arialbd.ttf", size=40)
  207.                         idraw = ImageDraw.Draw(photo1)
  208.                         idraw.text((150, 130), rndtxt, font=font, fill='black')
  209.                         photo1.save(dem_filename)
  210.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  211.                         await message(attachment=photo)
  212.                         os.remove(dem_filename)
  213.                         dialogs[message.peer_id] = time.time() + 5
  214.                     elif ll == 8:
  215.                         rndtxt = random.choice(texts)
  216.                         texts.remove(rndtxt)
  217.                         rndtxt2 = random.choice(texts)
  218.                         texts.remove(rndtxt2)
  219.                         if len(rndtxt) >= 20:
  220.                             rndtxt = rndtxt[:20]
  221.                         if len(rndtxt2) >= 20:
  222.                             rndtxt2 = rndtxt2[:20]
  223.                         photo1 = Image.open("5.jpg")
  224.                         font = ImageFont.truetype("arialbd.ttf", size=70)
  225.                         idraw = ImageDraw.Draw(photo1)
  226.                         idraw.text((340, 210), rndtxt, font=font, fill='black')
  227.                         photo1.save(dem_filename)
  228.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  229.                         await message(attachment=photo)
  230.                         os.remove(dem_filename)
  231.                         dialogs[message.peer_id] = time.time() + 5
  232.                     elif ll == 9:
  233.                         rndtxt = random.choice(texts)
  234.                         texts.remove(rndtxt)
  235.                         rndtxt2 = random.choice(texts)
  236.                         texts.remove(rndtxt2)
  237.                         if len(rndtxt) >= 20:
  238.                             rndtxt = rndtxt[:20]
  239.                         if len(rndtxt2) >= 20:
  240.                             rndtxt2 = rndtxt2[:20]
  241.                         photo1 = Image.open("6.jpg")
  242.                         font = ImageFont.truetype("arialbd.ttf", size=26)
  243.                         idraw = ImageDraw.Draw(photo1)
  244.                         idraw.text((180, 50), rndtxt, font=font, fill='black')
  245.                         photo1.save(dem_filename)
  246.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  247.                         await message(attachment=photo)
  248.                         os.remove(dem_filename)
  249.                         dialogs[message.peer_id] = time.time() + 5
  250.                     if ll == 10:
  251.                         rndtxt = random.choice(texts)
  252.                         texts.remove(rndtxt)
  253.                         rndtxt2 = random.choice(texts)
  254.                         texts.remove(rndtxt2)
  255.                         if len(rndtxt) >= 20:
  256.                             rndtxt = rndtxt[:20]
  257.                         if len(rndtxt2) >= 20:
  258.                             rndtxt2 = rndtxt2[:20]
  259.                         photo1 = Image.open("3.jpg")
  260.                         font = ImageFont.truetype("arialbd.ttf", size=30)
  261.                         idraw = ImageDraw.Draw(photo1)
  262.                         idraw.text((85, 290), rndtxt, font=font, fill='white')
  263.                         idraw.text((85, 825), rndtxt2, font=font, fill='white')
  264.                         photo1.save(dem_filename)
  265.                         photo = await photo_uploader.upload_message_photo(dem_filename)
  266.                         await message(attachment=photo)
  267.                         os.remove(dem_filename)
  268.                         dialogs[message.peer_id] = time.time() + 5
  269.                 elif message.peer_id in dialogs and time.time() <= dialogs[message.peer_id]:
  270.                     await message(f'слишком рано\nжди еще {int(dialogs[message.peer_id]-time.time())} сек')
  271.             else:
  272.                 await message(
  273.                     "Недостаточно сообщений для генерации.\nНужное количество: 10 сообщений и 1 фотография"
  274.                 )
  275.         else:
  276.             if text_lines >= 4:
  277.                 with open(chat_path, encoding="utf8") as file:
  278.                     texts = file.read().splitlines()
  279.                 # Выбираем рандомный текст
  280.                 random_text = ''
  281.                 for i in range(random.randint(1, 4)):
  282.                     random_text = random_text + random.choice(texts) + ' '
  283.                 await logging(message.peer_id)
  284.                 await message(random_text.lower())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement