async def save_get_new_note(event, strings, chat_id): note_name = event.pattern_match.group(1) for sym in RESTRICTED_SYMBOLS: if sym in note_name: await event.reply(strings["notename_cant_contain"].format(sym)) return if note_name[0] == "#": note_name = note_name[1:] file_id = None prim_text = "" if len(event.message.text.split(" ")) > 2: prim_text = event.text.partition(note_name)[2] if event.message.reply_to_msg_id: msg = await event.get_reply_message() if not msg: await event.reply(strings["bot_msg"]) return note_text = msg.message if prim_text: note_text += prim_text if hasattr(msg.media, 'photo'): file_id = utils.pack_bot_file_id(msg.media) if hasattr(msg.media, 'document'): file_id = utils.pack_bot_file_id(msg.media) else: note_text = prim_text return note_name, file_id, note_text
async def butt(event): media, wut, text = None, None, None if event.reply_to: wt = await event.get_reply_message() if wt.text: text = wt.text if wt.media: wut = mediainfo(wt.media) if wut.startswith(("pic", "gif")): dl = await wt.download_media() variable = uf(dl) media = "https://telegra.ph" + variable[0] elif wut == "video": if wt.media.document.size > 8 * 1000 * 1000: return await eor(event, get_string("com_4"), time=5) dl = await wt.download_media() variable = uf(dl) os.remove(dl) media = "https://telegra.ph" + variable[0] else: pack_bot_file_id(wt.media) if not text: text = event.text.split(maxsplit=1) if len(text) <= 1: return await eor( event, f"**Please give some text in correct format.**\n\n`{HNDLR}help button`", ) text = text[1] text, buttons = get_msg_button(text) if buttons: buttons = create_tl_btn(buttons) return await something(event, text, None, buttons)
async def save_welcome(event): if not event.text[0].isalpha() and event.text[0] not in ("/", "#", "@", "!"): try: from userbot.modules.sql_helper.welcome_sql import add_welcome_setting except AttributeError: await event.edit("`Running on Non-SQL mode!`") return msg = await event.get_reply_message() input_str = event.pattern_match.group(1) if input_str: if add_welcome_setting(event.chat_id, input_str, 0) is True: await event.edit("`Welcome note saved !!`") else: await event.edit( "`I can only have one welcome note per chat !!`") elif msg and msg.media: bot_api_file_id = pack_bot_file_id(msg.media) if add_welcome_setting(event.chat_id, msg.message, 0, bot_api_file_id) is True: await event.edit("`Welcome note saved !!`") else: await event.edit( "`I can only have one welcome note per chat !!`") elif msg.message is not None: if add_welcome_setting(event.chat_id, msg.message, 0) is True: await event.edit("`Welcome note saved !!`") else: await event.edit( "`I can only have one welcome note per chat !!`")
def send_files(self, entity, files, delete_on_success=False, print_file_id=False, force_file=False, forward=()): for file in files: progress = get_progress_bar('Uploading', os.path.basename(file), os.path.getsize(file)) name = '.'.join(os.path.basename(file).split('.')[:-1]) thumb = None try: thumb = get_file_thumb(file) except ThumbError as e: click.echo('{}'.format(e), err=True) caption = (name[:CAPTION_MAX_LENGTH] + '..') if len(name) > CAPTION_MAX_LENGTH else name try: if force_file: attributes = [DocumentAttributeFilename(file)] else: attributes = get_file_attributes(file) message = self.send_file(entity, file, thumb=thumb, caption=caption, force_document=force_file, progress_callback=progress, attributes=attributes) except Exception: raise finally: if thumb: os.remove(thumb) click.echo() if print_file_id: click.echo('Uploaded successfully "{}" (file_id {})'.format(file, pack_bot_file_id(message.media))) if delete_on_success: click.echo('Deleting {}'.format(file)) os.remove(file) self.forward_to(message, forward)
async def _(event): match = event.pattern_match.group(1).strip() if event.reply_to_msg_id: await event.get_input_chat() r_msg = await event.get_reply_message() if r_msg.media: bot_api_file_id = pack_bot_file_id(r_msg.media) await event.eor( "**Current Chat ID:** `{}`\n**From User ID:** `{}`\n**Bot API File ID:** `{}`\n**Msg ID:** `{}`" .format( str(event.chat_id), str(r_msg.sender_id), bot_api_file_id, str(r_msg.id), ), ) else: await event.eor( "**Chat ID:** `{}`\n**User ID:** `{}`\n**Msg ID:** `{}`". format(str(event.chat_id), str(r_msg.sender_id), str(r_msg.id)), ) elif match: try: ids = await event.client.parse_id(match) except Exception as er: return await event.eor(str(er)) await event.eor( "**Chat ID:** `{}`\n**User ID:** `{}`".format( str(event.chat_id), str(ids), ), ) else: await event.eor( "**Current Chat ID:** `{}`\n**Msg ID:** `{}`".format( str(event.chat_id), str(event.id)), )
async def sed(event): msg = await event.get_reply_message() if msg is None: return msg.id msg_s = event.raw_text user_id, reply_message_id = his_userid(msg.id) if event.sender_id != bot.uid: return elif event.raw_text.startswith("/"): return elif event.text is not None and event.media: bot_api_file_id = pack_bot_file_id(event.media) await tgbot.send_file( user_id, file=bot_api_file_id, caption=event.text, reply_to=reply_message_id, ) else: msg_s = event.raw_text await tgbot.send_message( user_id, msg_s, reply_to=reply_message_id, )
async def _(event): if event.fwd_from: return input_str = event.pattern_match.group(1) a_msg = "" if input_str: try: chat = await borg.get_entity(input_str) except Exception as e: await event.edit(str(e)) return None else: a_msg = "{} chat ID: `{}`\n".format(input_str, "-100" + str(chat.id)) if event.reply_to_msg_id: r_msg = await event.get_reply_message() if r_msg.media: bot_api_file_id = pack_bot_file_id(r_msg.media) await event.edit( "{}The BOT API file ID of this media is `{}`".format( a_msg, str(bot_api_file_id))) else: chat = await event.get_input_chat() await event.edit( "{}The current chat's ID is `{}` and the replied user as an ID: `{}`" .format(a_msg, str(event.chat_id), str(r_msg.from_id))) else: chat = await event.get_input_chat() await event.edit("{}The current chat's ID is `{}`!".format( a_msg, str(event.chat_id)))
async def _(event): if event.reply_to_msg_id: await event.get_input_chat() r_msg = await event.get_reply_message() if r_msg.media: bot_api_file_id = pack_bot_file_id(r_msg.media) await eor( event, "**Current Chat ID:** `{}`\n**From User ID:** `{}`\n**Bot API File ID:** `{}`" .format( str(event.chat_id), str(r_msg.sender_id), bot_api_file_id, ), ) else: await eor( event, "**Chat ID:** `{}`\n**User ID:** `{}`".format( str(event.chat_id), str(r_msg.sender_id), ), ) elif event.pattern_match.group(1): ids = await get_user_id(event.pattern_match.group(1)) return await eor( event, "**Chat ID:** `{}`\n**User ID:** `{}`".format( str(event.chat_id), str(ids), ), ) else: await eor(event, "**Current Chat ID:** `{}`".format(str(event.chat_id)))
async def save_welcome(event): if not event.text[0].isalpha() and event.text[0] not in ("/", "#", "@", "!"): if event.fwd_from: return msg = await event.get_reply_message() input_str = event.pattern_match.group(1) if input_str: if add_welcome_setting(event.chat_id, input_str, True, 0) is True: await event.edit("`Welcome note saved !!`") else: await event.edit( "`I can only have one welcome note per chat !!`") elif msg and msg.media: bot_api_file_id = pack_bot_file_id(msg.media) if add_welcome_setting(event.chat_id, msg.message, True, 0, bot_api_file_id) is True: await event.edit("`Welcome note saved !!`") else: await event.edit( "`I can only have one welcome note per chat !!`") elif msg.message is not None: if add_welcome_setting(event.chat_id, msg.message, True, 0) is True: await event.edit("`Welcome note saved !!`") else: await event.edit( "`I can only have one welcome note per chat !!`")
async def post(self): data = self.request['data'] attributes = [ DocumentAttributeAudio(duration=data.pop('duration'), title=data.pop('title'), performer=data.pop('performer')) ] bot = await get_bot() async with bot: res = await bot.send_file(entity=data['chat_id'], file=data['audio'], caption=data.get('caption'), parse_mode=data.get('parse_mode'), thumb=data['thumb'], reply_to=data['reply_to_message_id'], attributes=attributes) if res.media is None: return web.Response(status=HTTPStatus.INTERNAL_SERVER_ERROR, text='Upload error') file_id = utils.pack_bot_file_id(res.media.document) if file_id is None: return web.Response(status=HTTPStatus.INTERNAL_SERVER_ERROR, text='ID encoding error') return web.json_response({'file_id': file_id})
async def on_out_mssg(event): x = await event.get_reply_message() if x is None: return to_send = event.raw_text who = event.sender_id if x.fwd_from: to_user = x.fwd_from.sender_id.user_id else: # this is a weird way of doing it return if who == OWNER_ID: if to_send.startswith("/"): return if event.text is not None and event.media: # if sending media bot_api_file_id = pack_bot_file_id(event.media) await asst.send_file( to_user, file=bot_api_file_id, caption=event.text, reply_to=x.reply_to_msg_id, ) else: await asst.send_message(to_user, to_send, reply_to=x.reply_to_msg_id)
async def an(e): wrd = (e.pattern_match.group(1)).lower() wt = await e.get_reply_message() chat = e.chat_id if not (wt and wrd): return await eor( e, "`Use this Command with Reply and word to use a note.`", time=5 ) if "#" in wrd: wrd = wrd.replace("#", "") if wt and wt.media: wut = mediainfo(wt.media) if wut.startswith(("pic", "gif")): dl = await wt.download_media() variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] elif wut == "video": if wt.media.document.size > 8 * 1000 * 1000: return await eor(x, "`Unsupported Media`", time=5) dl = await wt.download_media() variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] else: m = pack_bot_file_id(wt.media) if wt.text: add_note(int(chat), wrd, wt.text, m) else: add_note(int(chat), wrd, None, m) else: add_note(int(chat), wrd, wt.text, None) await eor(e, f"Done Note : `#{wrd}` saved.")
async def get_note_type(message): data_type = None content = None text = "" split = message.text[len("/save "):] splitter = re.match(NOTE_REGEX, split) note_name = splitter.group(1).strip('"') reply = await message.get_reply_message() buttons = [] # determine what the contents of the filter are - text, image, sticker, etc if not reply: note = re.sub(NOTE_REGEX, "", split) text, buttons = message_parser(note) if buttons: data_type = Types.BUTTON_TEXT else: if len(text) != 0: data_type = Types.TEXT elif reply and reply.text: text, buttons = message_parser(reply.text) if buttons: data_type = Types.BUTTON_TEXT else: data_type = Types.TEXT elif reply and reply.media: content = utils.pack_bot_file_id(reply.media) text = reply.text data_type = Types.FILE string = re.sub(' +', ' ', text).strip() return note_name, string, data_type, content, buttons
async def _m(event): await event.edit("`Processing..`") id_s = event.chat_id lmao = await event.get_reply_message() if event.is_group: await event.edit("`No, LoL You Can't Set Channel Stickers In Groups, lol`") return if event.is_private: await event.edit( "`No, LoL You Can't Set Channel Stickers In Private Chats, lol`" ) return if lmao.sticker.mime_type != "image/webp": await event.edit("`Only Sticker Allowded.`") return if is_data_indb(id_s): await event.edit( "`This Channel Sticker Data Is Already In Db, Remove First To Update it.`" ) return if not is_data_indb(id_s): bot_api_file_id = pack_bot_file_id(lmao.media) add_new_data_in_db(id_s, bot_api_file_id) await event.edit( "`This Sticker Has Been Set As Channel Sticker For This Channel`" )
async def an(e): wrd = (e.pattern_match.group(1)).lower() wt = await e.get_reply_message() if not (wt and wrd): return await eor(e, "Give word to set as snip and reply to a message.") if "$" in wrd: wrd = wrd.replace("$", "") if wt and wt.media: wut = mediainfo(wt.media) if wut.startswith(("pic", "gif")): dl = await wt.download_media() variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] elif wut == "video": if wt.media.document.size > 8 * 1000 * 1000: return await eod(x, "`Unsupported Media`") else: dl = await wt.download_media() variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] else: m = pack_bot_file_id(wt.media) if wt.text: add_snip(wrd, wt.text, m) else: add_snip(wrd, None, m) else: add_snip(wrd, wt.text, None) await eor(e, f"Done : snip `${wrd}` Saved.")
def send_files(self, entity, files: Iterable[File], delete_on_success=False, print_file_id=False, forward=(), send_as_media: bool = False): has_files = False messages = [] for file in files: has_files = True progress, bar = get_progress_bar('Uploading', file.file_name, file.file_size) thumb = file.get_thumbnail() try: try: if send_as_media: message = async_to_sync(self._send_media(entity, file, progress)) else: message = self._send_file_message(entity, file, thumb, progress) messages.append(message) finally: bar.render_finish() finally: if thumb and not file.is_custom_thumbnail: os.remove(thumb) if print_file_id: click.echo('Uploaded successfully "{}" (file_id {})'.format(file.file_name, pack_bot_file_id(message.media))) if delete_on_success: click.echo('Deleting "{}"'.format(file)) os.remove(file.path) self.forward_to(message, forward) if not has_files: raise MissingFileError('Files do not exist.') return messages
async def setwel(event): x = await eor(event, get_string("com_1")) r = await event.get_reply_message() if event.is_private: return await eod(x, "Please use this in a group and not PMs!", time=10) if r and r.media: wut = mediainfo(r.media) if wut.startswith(("pic", "gif")): dl = await bot.download_media(r.media) variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] elif wut == "video": if r.media.document.size > 8 * 1000 * 1000: return await eod(x, "`Unsupported Media`") else: dl = await bot.download_media(r.media) variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] else: m = pack_bot_file_id(r.media) if r.text: add_welcome(event.chat_id, r.message, m) else: add_welcome(event.chat_id, None, m) await eor(x, "`Welcome note saved`") elif r.text: add_welcome(event.chat_id, r.message, None) await eor(x, "`Welcome note saved`") else: await eod(x, "`Reply to message which u want to set as welcome`")
async def af(e): wrd = (e.pattern_match.group(1)).lower() wt = await e.get_reply_message() chat = e.chat_id if not (wt and wrd): return await eor(e, get_string("flr_1")) btn = format_btn(wt.buttons) if wt.buttons else None if wt and wt.media: wut = mediainfo(wt.media) if wut.startswith(("pic", "gif")): dl = await wt.download_media() variable = uf(dl) m = "https://telegra.ph" + variable[0] elif wut == "video": if wt.media.document.size > 8 * 1000 * 1000: return await eor(e, get_string("com_4"), time=5) dl = await wt.download_media() variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] else: m = pack_bot_file_id(wt.media) if wt.text: txt = wt.text if not btn: txt, btn = get_msg_button(wt.text) add_filter(int(chat), wrd, txt, m, btn) else: add_filter(int(chat), wrd, None, m, btn) else: txt = wt.text if not btn: txt, btn = get_msg_button(wt.text) add_filter(int(chat), wrd, txt, None, btn) await eor(e, get_string("flr_4").format(wrd))
async def ac(e): wrd = (e.pattern_match.group(1)).lower() wt = await e.get_reply_message() if not (wt and wrd): return await eod( e, "`Use this Command with Reply and word to use a command.`") if "/" in wrd: wrd = wrd.replace("/", "") if wt and wt.media: wut = mediainfo(wt.media) if wut.startswith(("pic", "gif")): dl = await e.client.download_media(wt.media) variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] elif wut == "video": if wt.media.document.size > 8 * 1000 * 1000: return await eod(x, "`Unsupported Media`") else: dl = await e.client.download_media(wt.media) variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] else: m = pack_bot_file_id(wt.media) if wt.text: add_cmd(wrd, wt.text, m) else: add_cmd(wrd, None, m) else: add_cmd(wrd, wt.text, None) await eor(e, f"Done Command : `/{wrd}` saved.")
async def af(e): wrd = e.pattern_match.group(1) wt = await e.get_reply_message() chat = e.chat_id if not (wt and wrd): return await eor( e, "`Use this command word to set as filter and reply...`") try: rem_filter(int(chat), wrd) except: pass if wt and wt.media: wut = mediainfo(wt.media) if wut.startswith(("pic", "gif")): dl = await bot.download_media(wt.media) variable = uf(dl) m = "https://telegra.ph" + variable[0] elif wut == "video": if wt.media.document.size > 8 * 1000 * 1000: return await eod(x, "`Unsupported Media`") else: dl = await bot.download_media(wt.media) variable = uf(dl) os.remove(dl) m = "https://telegra.ph" + variable[0] else: m = pack_bot_file_id(wt.media) if wt.text: add_filter(int(chat), wrd, wt.text, m) else: add_filter(int(chat), wrd, None, m) else: add_filter(int(chat), wrd, wt.text, None) await eor(e, f"Done : Filter `{wrd}` Saved.")
async def tg_document_create(document: UploadFile) -> dict[str, Optional[str]]: doc_bytes = io.BytesIO(document.file.read()) doc_bytes.name = document.filename async with await bot_init() as bot: msg = await bot.send_file(settings.TG_FILES_CHAT_ID, doc_bytes) tg_doc_id = pack_bot_file_id(msg.media) return {'document_id': tg_doc_id}
async def cache_message(event: EventLike): await utils.add_message( chat_id=event.chat_id, user_id=event.sender_id, message_id=event.id, chat_name=get_display_name(await event.get_chat()), user_name=get_display_name(await event.get_sender()), text=event.raw_text, file_id=pack_bot_file_id(event.media) if event.media else None)
async def _(event): if event.fwd_from: return msg = await event.get_reply_message() if msg and msg.media: bot_api_file_id = pack_bot_file_id(msg.media) add_welcome_setting(event.chat_id, msg.message, True, 0, bot_api_file_id) await edit_or_reply(event, "`Berhasil Menyimpan Pesan Welcome`.") else: input_str = event.text.split(None, 1) add_welcome_setting(event.chat_id, input_str[1], True, 0, None) await edit_or_reply(event, "`Berhasil Menyimpan Pesan Welcome`.")
async def _(event): if event.fwd_from: return msg = await event.get_reply_message() if msg and msg.media: bot_api_file_id = pack_bot_file_id(msg.media) add_welcome_setting(event.chat_id, msg.message, True, 0, bot_api_file_id) await event.edit("📝Messaggio di benvenuto, salvato. ") else: input_str = event.text.split(None, 1) add_welcome_setting(event.chat_id, input_str[1], True, 0, None) await event.edit("📝Messaggio di benvenuto, salvato. ")
async def _(e): if e.reply_to_msg_id: await e.get_input_chat() R = await e.get_reply_message() if R.media: B = pack_bot_file_id(R.media) await e.reply(Asstid[0].form(str(e.chat_id), str(R.sender_id), B), ) else: await e.reply(Asstid[1].format(str(e.chat_id), str(R.sender_id)), ) else: await e.reply(Asstid[2].format(str(e.chat_id)))
async def _(event): if event.fwd_from: return msg = await event.get_reply_message() if msg and msg.media: bot_api_file_id = pack_bot_file_id(msg.media) add_welcome_setting(event.chat_id, msg.message, True, 0, bot_api_file_id) await event.edit("Welcome note saved. ") else: input_str = event.text.split(None, 1) add_welcome_setting(event.chat_id, input_str[1], True, 0, None) await event.edit("- 𖢞 Welcome saved - @IQTHON. ")
def send_files(self, entity, files, delete_on_success=False, print_file_id=False, force_file=False, forward=(), caption=None, no_thumbnail=False): for file in files: file_name = os.path.basename(file) file_size = os.path.getsize(file) progress, bar = get_progress_bar('Uploading', file_name, file_size) name = '.'.join(file_name.split('.')[:-1]) thumb = None if not no_thumbnail: try: thumb = get_file_thumb(file) except ThumbError as e: click.echo('{}'.format(e), err=True) file_caption = truncate(caption if caption is not None else name, CAPTION_MAX_LENGTH) try: if force_file: attributes = [DocumentAttributeFilename(file_name)] else: attributes = get_file_attributes(file) try: message = self.send_file(entity, file, thumb=thumb, caption=file_caption, force_document=force_file, progress_callback=progress, attributes=attributes) if hasattr(message.media, 'document' ) and file_size != message.media.document.size: raise TelegramUploadDataLoss( 'Remote document size: {} bytes (local file size: {} bytes)' .format(message.media.document.size, file_size)) finally: bar.render_finish() finally: if thumb: os.remove(thumb) if print_file_id: click.echo('Uploaded successfully "{}" (file_id {})'.format( file, pack_bot_file_id(message.media))) if delete_on_success: click.echo('Deleting "{}"'.format(file)) os.remove(file) self.forward_to(message, forward)
async def _(event): if event.fwd_from: return if event.reply_to_msg_id: chat = await event.get_input_chat() r_msg = await event.get_reply_message() if r_msg.media: bot_api_file_id = pack_bot_file_id(r_msg.media) await event.edit("Current Chat ID: `{}`\nFrom User ID: `{}`\nBot API File ID: `{}`".format(str(event.chat_id), str(r_msg.from_id), bot_api_file_id)) else: await event.edit("Current Chat ID: `{}`\nFrom User ID: `{}`".format(str(event.chat_id), str(r_msg.from_id))) else: await event.edit("Current Chat ID: `{}`".format(str(event.chat_id)))
async def _(event): if event.fwd_from: return msg = await event.get_reply_message() if msg and msg.media: tbot_api_file_id = pack_bot_file_id(msg.media) add_goodbye_setting(event.chat_id, msg.message, True, 0, tbot_api_file_id) await event.reply("Goodbye message saved. ") else: input_str = event.text.split(None, 1) add_goodbye_setting(event.chat_id, input_str[1], True, 0, None) await event.reply("Goodbye message saved. ")
async def _(event): if event.fwd_from: return if event.reply_to_msg_id: await event.get_input_chat() r_msg = await event.get_reply_message() if r_msg.media: bot_api_file_id = pack_bot_file_id(r_msg.media) await event.edit("👥 **Chat ID**: `{}`\n🙋♂️ **From User ID**: `{}`\n📄 **File ID**: `{}`".format(str(event.chat_id), str(r_msg.from_id), bot_api_file_id)) else: await event.edit("👥 **Chat ID**: `{}`\n🙋♂️ **From User ID**: `{}`".format(str(event.chat_id), str(r_msg.from_id))) else: await event.edit("👥 **Chat ID**: `{}`".format(str(event.chat_id)))