diff --git a/shizuchat/modules/Telegraph.py b/shizuchat/modules/Telegraph.py new file mode 100644 index 0000000..03bcf22 --- /dev/null +++ b/shizuchat/modules/Telegraph.py @@ -0,0 +1,42 @@ +import os, asyncio +from pyrogram import Client, filters +from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, Message, CallbackQuery +from telegraph import upload_file +from shizuchat.modules.helpers.mongo import get_file_id +from shizuchat import shizuchat +from shizuchat import shizuchat as Client + + +@Client.on_message(filters.command("telegrap") & filters.private) +async def telegraph_upload(bot, update): + replied = update.reply_to_message + if not replied: + return await update.reply_text("Rᴇᴘʟʏ Tᴏ A Pʜᴏᴛᴏ Oʀ Vɪᴅᴇᴏ Uɴᴅᴇʀ 5ᴍʙ") + file_info = get_file_id(replied) + if not file_info: + return await update.reply_text("Not Supported!") + text = await update.reply_text(text="Downloading To My Server ...", disable_web_page_preview=True) + media = await update.reply_to_message.download() + await text.edit_text(text="Downloading Completed. Now I am Uploading to telegra.ph Link ...", disable_web_page_preview=True) + try: + response = upload_file(media) + except Exception as error: + print(error) + await text.edit_text(text=f"Error :- {error}", disable_web_page_preview=True) + return + try: + os.remove(media) + except Exception as error: + print(error) + return + await text.edit_text( + text=f"Link :-\n\nhttps://graph.org{response[0]}", + disable_web_page_preview=True, + reply_markup=InlineKeyboardMarkup( [[ + InlineKeyboardButton(text="Open Link", url=f"https://graph.org{response[0]}"), + InlineKeyboardButton(text="Share Link", url=f"https://telegram.me/share/url?url=https://graph.org{response[0]}") + ],[ + InlineKeyboardButton(text="✗ Close ✗", callback_data="close") + ]]) + ) +