Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @bot.on.chat_message(lower=True, text=["g", "gen", "г", "/ген", "/g", "ген", "/gen", "/г"])
- async def gen(message: Message):
- await addtobd(message.peer_id)
- if message.from_id > 0:
- text_length = len(message.text)
- chat_path = f"{dir_to_txt}{message.peer_id}.txt"
- picture_path = f"{dir_to_pic}{message.peer_id}.txt"
- with open(picture_path, encoding="utf8") as f:
- pic_count = len(f.readlines())
- with open(chat_path, encoding="utf8") as f:
- text_lines = len(f.readlines())
- q.execute(f"SELECT * FROM players WHERE id = {message.peer_id}")
- result = q.fetchall()
- status = result[0][1]
- connection.commit()
- if status == 1:
- if text_lines >= 10 and pic_count >= 1:
- if message.peer_id not in dialogs or time.time() >= dialogs[message.peer_id]:
- print("ГЕНЕРИРУЕМ ПО КОМАНДЕ")
- with open(chat_path, encoding="utf8") as file:
- texts = file.read().splitlines()
- random_text = ''
- for i in range(random.randint(1, 3)):
- random_text = random_text + random.choice(texts) + ' '
- random_bottom_text = ''
- for i in range(random.randint(1, 5)):
- random_bottom_text = random_bottom_text + random.choice(texts) + ' '
- with open(picture_path, encoding="utf8") as file:
- pictures = file.read().splitlines()
- random_picture = random.choice(pictures)
- response = requests.get(random_picture)
- random_filename = f"randomimg_{random.randint(0, 10000000000000000000000000)}.jpg"
- with open(random_filename, "wb") as f:
- f.write(response.content)
- random_text_len = len(random_text)
- dem_filename = f"result_{random.randint(0, 10000000000000000000000000)}.jpg"
- if random_text_len <= 80:
- dem = demcreate(random_text.lower(), random_bottom_text.lower())
- dem.makeImage(random_filename)
- dem.setline('@neurobalbes')
- photo1 = Image.open('demresult.jpg')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- os.remove(random_filename)
- dialogs[message.peer_id] = time.time() + 30
- await logging(message.peer_id)
- return
- else:
- random_bottom_text_short = random_text[:80]
- dem = demcreate(random_text, random_bottom_text_short)
- dem.makeImage("randomimg.jpg")
- dem.setline('@neurobalbes')
- photo1 = Image.open('demresult.jpg')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- os.remove(random_filename)
- dialogs[message.peer_id] = time.time() + 30
- await logging(message.peer_id)
- return
- elif message.peer_id in dialogs and time.time() <= dialogs[message.peer_id]:
- await message(f'слишком рано\nжди еще {int(dialogs[message.peer_id]-time.time())} сек')
- else:
- await message(
- "Недостаточно сообщений для генерации.\nНужное количество: 10 сообщений и 1 фотография"
- )
- elif status == 4:
- random_filename = f"randomimg_{random.randint(0, 10000000000000000000000000)}.jpg"
- dem_filename = f"result_{random.randint(0, 10000000000000000000000000)}.jpg"
- if text_lines >= 10 and pic_count >= 1:
- if message.peer_id not in dialogs or time.time() >= dialogs[message.peer_id]:
- print(message.from_id)
- print("ГЕНЕРИРУЕМ ПО КОМАНДЕ")
- with open(chat_path, encoding="utf8") as file:
- texts = file.read().splitlines()
- with open(picture_path, encoding="utf8") as file:
- pictures = file.read().splitlines()
- ll = random.randint(1, 10)
- if ll == 1:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 30:
- rndtxt = rndtxt[:30]
- if len(rndtxt2) >= 30:
- rndtxt2 = rndtxt2[:30]
- photo1 = Image.open("mem.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=30)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((90, 5), rndtxt, font=font, fill='black')
- idraw.text((70, 82), rndtxt2, font=font, fill='black')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll ==2:
- with open(picture_path, encoding="utf8") as file:
- pictures = file.read().splitlines()
- rndpic = random.choice(pictures)
- p = requests.get(rndpic)
- out = open(random_filename, "wb")
- out.write(p.content)
- out.close()
- rndpic = random.choice(pictures)
- photo1 = Image.open("mem3.jpg")
- user_img = Image.open(random_filename).convert("RGBA").resize((348, 231))
- photo1.paste(user_img, (367, 210))
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- os.remove(random_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll ==3:
- with open(picture_path, encoding="utf8") as file:
- pictures = file.read().splitlines()
- rndpic = random.choice(pictures)
- p = requests.get(rndpic)
- out = open(random_filename, "wb")
- out.write(p.content)
- out.close()
- rndpic = random.choice(pictures)
- photo1 = Image.open("mem2.jpg")
- user_img = Image.open(random_filename).convert("RGBA").resize((595, 289))
- photo1.paste(user_img, (0, 304))
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- os.remove(random_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll == 4:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 30:
- rndtxt = rndtxt[:30]
- if len(rndtxt2) >= 30:
- rndtxt2 = rndtxt2[:30]
- photo1 = Image.open("2.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=45)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((50, 200), rndtxt, font=font, fill='black')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll == 5:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 20:
- rndtxt = rndtxt[:20]
- if len(rndtxt2) >= 20:
- rndtxt2 = rndtxt2[:20]
- photo1 = Image.open("1.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=40)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((125, 350), rndtxt, font=font, fill='black')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll == 6:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 20:
- rndtxt = rndtxt[:20]
- if len(rndtxt2) >= 20:
- rndtxt2 = rndtxt2[:20]
- photo1 = Image.open("4.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=30)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((120, 170), rndtxt, font=font, fill='black')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll == 7:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 20:
- rndtxt = rndtxt[:20]
- if len(rndtxt2) >= 20:
- rndtxt2 = rndtxt2[:20]
- photo1 = Image.open("7.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=40)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((150, 130), rndtxt, font=font, fill='black')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll == 8:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 20:
- rndtxt = rndtxt[:20]
- if len(rndtxt2) >= 20:
- rndtxt2 = rndtxt2[:20]
- photo1 = Image.open("5.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=70)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((340, 210), rndtxt, font=font, fill='black')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif ll == 9:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 20:
- rndtxt = rndtxt[:20]
- if len(rndtxt2) >= 20:
- rndtxt2 = rndtxt2[:20]
- photo1 = Image.open("6.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=26)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((180, 50), rndtxt, font=font, fill='black')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- if ll == 10:
- rndtxt = random.choice(texts)
- texts.remove(rndtxt)
- rndtxt2 = random.choice(texts)
- texts.remove(rndtxt2)
- if len(rndtxt) >= 20:
- rndtxt = rndtxt[:20]
- if len(rndtxt2) >= 20:
- rndtxt2 = rndtxt2[:20]
- photo1 = Image.open("3.jpg")
- font = ImageFont.truetype("arialbd.ttf", size=30)
- idraw = ImageDraw.Draw(photo1)
- idraw.text((85, 290), rndtxt, font=font, fill='white')
- idraw.text((85, 825), rndtxt2, font=font, fill='white')
- photo1.save(dem_filename)
- photo = await photo_uploader.upload_message_photo(dem_filename)
- await message(attachment=photo)
- os.remove(dem_filename)
- dialogs[message.peer_id] = time.time() + 5
- elif message.peer_id in dialogs and time.time() <= dialogs[message.peer_id]:
- await message(f'слишком рано\nжди еще {int(dialogs[message.peer_id]-time.time())} сек')
- else:
- await message(
- "Недостаточно сообщений для генерации.\nНужное количество: 10 сообщений и 1 фотография"
- )
- else:
- if text_lines >= 4:
- with open(chat_path, encoding="utf8") as file:
- texts = file.read().splitlines()
- # Выбираем рандомный текст
- random_text = ''
- for i in range(random.randint(1, 4)):
- random_text = random_text + random.choice(texts) + ' '
- await logging(message.peer_id)
- await message(random_text.lower())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement