From 8390bcdd42ddfdd3151b76a71a444f1209e335f0 Mon Sep 17 00:00:00 2001 From: yasir Date: Sun, 19 Mar 2023 20:53:51 +0700 Subject: [PATCH] Lazy to make commit --- .../Calistoga-Regular.ttf | Bin assets/MutantAcademyStyle.ttf | Bin 0 -> 56364 bytes {img => assets}/bg.png | Bin {img => assets}/profilepic.png | Bin {img => assets}/thumb.jpg | Bin misskaty/plugins/chatbot_ai.py | 16 +++++++++++----- misskaty/plugins/dev.py | 6 +++--- misskaty/plugins/download_upload.py | 2 +- misskaty/plugins/grup_tools.py | 10 +++++----- misskaty/plugins/imdb_search.py | 17 ++++++++++++----- misskaty/plugins/json.py | 2 +- misskaty/plugins/mediainfo.py | 4 ++-- misskaty/plugins/memify.py | 6 +++--- misskaty/plugins/sangmata.py | 2 +- misskaty/plugins/sub_extractor.py | 4 ++-- 15 files changed, 41 insertions(+), 28 deletions(-) rename Calistoga-Regular.ttf => assets/Calistoga-Regular.ttf (100%) create mode 100644 assets/MutantAcademyStyle.ttf rename {img => assets}/bg.png (100%) rename {img => assets}/profilepic.png (100%) rename {img => assets}/thumb.jpg (100%) diff --git a/Calistoga-Regular.ttf b/assets/Calistoga-Regular.ttf similarity index 100% rename from Calistoga-Regular.ttf rename to assets/Calistoga-Regular.ttf diff --git a/assets/MutantAcademyStyle.ttf b/assets/MutantAcademyStyle.ttf new file mode 100644 index 0000000000000000000000000000000000000000..00c56493dfd1c1e074b307d3e977844568ec5ebb GIT binary patch literal 56364 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 literal 0 HcmV?d00001 diff --git a/img/bg.png b/assets/bg.png similarity index 100% rename from img/bg.png rename to assets/bg.png diff --git a/img/profilepic.png b/assets/profilepic.png similarity index 100% rename from img/profilepic.png rename to assets/profilepic.png diff --git a/img/thumb.jpg b/assets/thumb.jpg similarity index 100% rename from img/thumb.jpg rename to assets/thumb.jpg diff --git a/misskaty/plugins/chatbot_ai.py b/misskaty/plugins/chatbot_ai.py index 6c82de48..4f5bbaf2 100644 --- a/misskaty/plugins/chatbot_ai.py +++ b/misskaty/plugins/chatbot_ai.py @@ -1,8 +1,8 @@ from pyrogram import filters -from pyrogram.errors import MessageNotModified +from pyrogram.errors import MessageNotModified, MessageTooLong from misskaty import app -from misskaty.helper.http import http +from misskaty.helper import http, post_to_telegraph from misskaty.core.message_utils import * from misskaty.core.decorator.ratelimiter import ratelimiter from misskaty.vars import COMMAND_HANDLER, OPENAI_API @@ -31,8 +31,14 @@ async def chatbot(c, m): msg = await kirimPesan(m, "Wait a moment looking for your answer..") try: response = (await http.post("https://api.openai.com/v1/chat/completions", headers=headers, json=json_data)).json() - await editPesan(msg, response["choices"][0]["message"]["content"]) - except MessageNotModified: + if err := response["error"]: + return await editPesan(msg, err["message"]) + answer = response["choices"][0]["message"]["content"] + await editPesan(msg, answer) + except MessageTooLong: + answerlink = await post_to_telegraph(False, "MissKaty ChatBot ", answer) + await editPesan(msg, f"Question for your answer has exceeded TG text limit, check this link to view.\n\n{answerlink}", disable_web_page_preview=True) + except (MessageNotModified, MessageIdInvalid): pass except Exception as err: - await editPesan(msg, f"Oppss. ERROR: {err}") + await editPesan(msg, f"Oppss. ERROR: {str(err)}") diff --git a/misskaty/plugins/dev.py b/misskaty/plugins/dev.py index 2514c15f..d3eb10fb 100644 --- a/misskaty/plugins/dev.py +++ b/misskaty/plugins/dev.py @@ -18,7 +18,7 @@ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup from misskaty import app, user, botStartTime, BOT_NAME from misskaty.helper import http from misskaty.helper.human_read import get_readable_file_size, get_readable_time -from misskaty.core.message_utils import editPesan, kirimPesan +from misskaty.core.message_utils import editPesan, hapusPesan, kirimPesan from misskaty.vars import COMMAND_HANDLER, SUDO from utils import LOGGER @@ -74,7 +74,7 @@ async def donate(_, message): @app.on_message(filters.command(["balas"], COMMAND_HANDLER) & filters.user(SUDO) & filters.reply) async def balas(c, m): pesan = m.text.split(" ", 1) - await m.delete() + await hapusPesan(m) await m.reply(pesan[1], reply_to_message_id=m.reply_to_message.id) @@ -183,7 +183,7 @@ async def evaluation_cmd_t(_, m): document="MissKatyEval.txt", caption=f"{cmd[1][: 4096 // 4 - 1]}", disable_notification=True, - thumb="img/thumb.jpg", + thumb="assets/thumb.jpg", reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton(text="❌ Close", callback_data=f"close#{m.from_user.id}")]]), ) os.remove("MissKatyEval.txt") diff --git a/misskaty/plugins/download_upload.py b/misskaty/plugins/download_upload.py index f2e839f8..f0d01bf4 100644 --- a/misskaty/plugins/download_upload.py +++ b/misskaty/plugins/download_upload.py @@ -165,7 +165,7 @@ async def fbdl(client, message): await message.reply_video( path, caption=f"{os.path.basename(path)}\n\nUploaded for {message.from_user.mention} [{message.from_user.id}]", - thumb="img/thumb.jpg" + thumb="assets/thumb.jpg" ) await msg.delete() try: diff --git a/misskaty/plugins/grup_tools.py b/misskaty/plugins/grup_tools.py index a6cee5cc..28cf12f9 100644 --- a/misskaty/plugins/grup_tools.py +++ b/misskaty/plugins/grup_tools.py @@ -48,19 +48,19 @@ def draw_multiple_line_text(image, text, font, text_start_height): @asyncify def welcomepic(pic, user, chat, id): - background = Image.open("img/bg.png") # <- Background Image (Should be PNG) + background = Image.open("assets/bg.png") # <- Background Image (Should be PNG) background = background.resize((1024, 500), Image.ANTIALIAS) pfp = Image.open(pic).convert("RGBA") pfp = circle(pfp) pfp = pfp.resize((265, 265)) # Resizes the Profilepicture so it fits perfectly in the circle - font = ImageFont.truetype("Calistoga-Regular.ttf", 37) # <- Text Font of the Member Count. Change the text size for your preference + font = ImageFont.truetype("assets/Calistoga-Regular.ttf", 37) # <- Text Font of the Member Count. Change the text size for your preference member_text = f"Selamat Datang {user} [{id}]" # <- Text under the Profilepicture with the Membercount draw_multiple_line_text(background, member_text, font, 395) draw_multiple_line_text(background, chat, font, 47) ImageDraw.Draw(background).text( (530, 460), f"Generated by @{BOT_USERNAME}", - font=ImageFont.truetype("Calistoga-Regular.ttf", 28), + font=ImageFont.truetype("assets/Calistoga-Regular.ttf", 28), size=20, align="right", ) @@ -96,7 +96,7 @@ async def member_has_joined(c: app, member: ChatMemberUpdated): try: pic = await app.download_media(user.photo.big_file_id, file_name=f"pp{user.id}.png") except AttributeError: - pic = "img/profilepic.png" + pic = "assets/profilepic.png" try: welcomeimg = await welcomepic(pic, user.first_name, member.chat.title, user.id) temp.MELCOW[f"welcome-{member.chat.id}"] = await c.send_photo( @@ -177,7 +177,7 @@ async def save_group(bot, message): try: pic = await app.download_media(u.photo.big_file_id, file_name=f"pp{u.id}.png") except AttributeError: - pic = "img/profilepic.png" + pic = "assets/profilepic.png" if (temp.MELCOW).get(f"welcome-{message.chat.id}") is not None: try: await temp.MELCOW[f"welcome-{message.chat.id}"].delete() diff --git a/misskaty/plugins/imdb_search.py b/misskaty/plugins/imdb_search.py index ccb80b83..34878826 100644 --- a/misskaty/plugins/imdb_search.py +++ b/misskaty/plugins/imdb_search.py @@ -1,6 +1,7 @@ import json import logging import re +import traceback from bs4 import BeautifulSoup from urllib.parse import quote_plus @@ -22,8 +23,8 @@ from misskaty import BOT_USERNAME, app from misskaty.core.message_utils import * from misskaty.core.decorator.errors import capture_err from misskaty.core.decorator.ratelimiter import ratelimiter -from misskaty.helper import http, get_random_string, search_jw, GENRES_EMOJI -from misskaty.vars import COMMAND_HANDLER +from misskaty.helper import http, get_random_string, search_jw, GENRES_EMOJI, post_to_telegraph +from misskaty.vars import COMMAND_HANDLER, LOG_CHANNEL LOGGER = logging.getLogger(__name__) LIST_CARI = {} @@ -394,10 +395,12 @@ async def imdb_id_callback(_, query): await query.message.edit_caption(res_str, parse_mode=enums.ParseMode.HTML, reply_markup=markup) else: await query.message.edit_caption(res_str, parse_mode=enums.ParseMode.HTML, reply_markup=markup) - except MessageNotModified: + except (MessageNotModified, MessageIdInvalid): pass except Exception as exc: - await query.message.edit_caption(f"ERROR:\n{exc}") + err = traceback.format_exc(limit=20) + await query.message.edit_caption(f"ERROR:\n{exc}\nFull Error: {err}\n\nSilahkan lapor ke owner detail errornya dengan lengkap, atau laporan error akan diabaikan.") + await app.send_message(LOG_CHANNEL, f"ERROR getting IMDb Detail in Indonesia:\n{str(err)}") @app.on_callback_query(filters.regex("^imdbres_en")) @@ -510,5 +513,9 @@ async def imdb_en_callback(bot, query): await query.message.edit_caption(res_str, parse_mode=enums.ParseMode.HTML, reply_markup=markup) else: await query.message.edit_caption(res_str, parse_mode=enums.ParseMode.HTML, reply_markup=markup) + except (MessageNotModified, MessageIdInvalid): + pass except Exception as exc: - await query.message.edit_caption(f"ERROR:\n{exc}") + err = traceback.format_exc(limit=20) + await query.message.edit_caption(f"ERROR:\n{exc}\nFull Error: {err}\n\nPlease report to owner with detail of error, or your report will be ignored.") + await app.send_message(LOG_CHANNEL, f"ERROR getting IMDb Detail in Eng:\n{str(err)}") diff --git a/misskaty/plugins/json.py b/misskaty/plugins/json.py index f626d4a8..6889d47e 100644 --- a/misskaty/plugins/json.py +++ b/misskaty/plugins/json.py @@ -46,6 +46,6 @@ async def jsonify(_, message): caption=f"{str(e)}", disable_notification=True, reply_to_message_id=reply_to_id, - thumb="img/thumb.jpg", + thumb="assets/thumb.jpg", ) os.remove("json.text") diff --git a/misskaty/plugins/mediainfo.py b/misskaty/plugins/mediainfo.py index 4a614374..b752718b 100644 --- a/misskaty/plugins/mediainfo.py +++ b/misskaty/plugins/mediainfo.py @@ -66,7 +66,7 @@ DETAILS await message.reply_document( out_file, caption=f"ℹ️ MEDIA INFO\n\n**Request by:** {message.from_user.mention}", - thumb="img/thumb.jpg", + thumb="assets/thumb.jpg", reply_markup=markup, ) await process.delete() @@ -101,7 +101,7 @@ DETAILS await message.reply_document( out_file, caption=f"Hasil mediainfo anda..\n\n**Request by:** {message.from_user.mention}", - thumb="img/thumb.jpg", + thumb="assets/thumb.jpg", reply_markup=markup, ) await process.delete() diff --git a/misskaty/plugins/memify.py b/misskaty/plugins/memify.py index 02c6002d..29480406 100644 --- a/misskaty/plugins/memify.py +++ b/misskaty/plugins/memify.py @@ -1,4 +1,5 @@ import textwrap +from asyncio import gather from os import remove as hapus from PIL import Image, ImageDraw, ImageFont @@ -14,7 +15,7 @@ async def draw_meme_text(image_path, text): img = Image.open(image_path) hapus(image_path) i_width, i_height = img.size - m_font = ImageFont.truetype("Calistoga-Regular.ttf", int((70 / 640) * i_width)) + m_font = ImageFont.truetype("assets/MutantAcademyStyle.ttf", int((70 / 640) * i_width)) if ";" in text: upper_text, lower_text = text.split(";") else: @@ -146,8 +147,7 @@ async def memify(client, message): try: file = await message.reply_to_message.download() webp, png = await draw_meme_text(file, message.text.split(None, 1)[1].strip()) - await message.reply_sticker(webp) - await message.reply_document(png) + await gather(*[message.reply_document(png), message.reply_sticker(webp)]) try: hapus(webp) hapus(png) diff --git a/misskaty/plugins/sangmata.py b/misskaty/plugins/sangmata.py index 907f9422..16857b1d 100644 --- a/misskaty/plugins/sangmata.py +++ b/misskaty/plugins/sangmata.py @@ -20,7 +20,7 @@ This feature inspired from SangMata Bot. I'm created simple detection to check u group=3, ) async def cek_mataa(_, m): - if not await is_sangmata_on(m.chat.id): + if m.sender_chat or not await is_sangmata_on(m.chat.id): return if not await cek_userdata(m.from_user.id): return await add_userdata(m.from_user.id, m.from_user.username, m.from_user.first_name, m.from_user.last_name) diff --git a/misskaty/plugins/sub_extractor.py b/misskaty/plugins/sub_extractor.py index 6234c9c5..1801b811 100644 --- a/misskaty/plugins/sub_extractor.py +++ b/misskaty/plugins/sub_extractor.py @@ -123,7 +123,7 @@ async def convertsrt(c, m): await m.reply_document( f"{filename}.srt", caption=f"{filename}.srt\n\nConverted by @{c.me.username}", - thumb="img/thumb.jpg", + thumb="assets/thumb.jpg", progress=progress_for_pyrogram, progress_args=("Uploading files..", msg, c_time), ) @@ -168,7 +168,7 @@ async def stream_extract(bot, update): namafile, caption=f"Filename: {namafile}\n\nExtracted by @{bot.me.username} in {timelog}", reply_to_message_id=usr.id, - thumb="img/thumb.jpg", + thumb="assets/thumb.jpg", progress=progress_for_pyrogram, progress_args=("Uploading files..", update.message, c_time), )