def quotly(client, message): reply = message.reply_to_message if reply and (reply.text or reply.photo or reply.sticker): edit(message, f'`{get_translation("makeQuote")}`') else: edit(message, f'`{get_translation("replyMessage")}`') return sleep(1) chat = 'QuotLyBot' with PyroConversation(client, chat) as conv: response = None try: conv.forward_msg(reply) response = conv.recv_msg() except YouBlockedUser: edit(message, get_translation('unblockChat', ['**', '`', chat])) return except Exception: if not response: edit(message, f'`{get_translation("answerFromBot")}`') return response.forward(message.chat.id) message.delete()
def sangmata(client, message): reply = message.reply_to_message if reply and reply.text: edit(message, f'`{get_translation("processing")}`') else: edit(message, f'`{get_translation("replyMessage")}`') return chat = 'SangMataInfo_bot' with PyroConversation(client, chat) as conv: response = None try: conv.forward_msg(reply) response = conv.recv_msg() except YouBlockedUser: edit(message, get_translation('unblockChat', ['**', '`', chat])) return except Exception as e: raise e if not response: edit(message, f'`{get_translation("answerFromBot")}`') elif response.text and response.text.startswith('Forward'): edit(message, f'`{get_translation("privacySettings")}`') else: edit(message, response.text)
def ximiui(client, message): reply = message.text if reply: edit(message, f'`{get_translation("processing")}`') else: edit(message, f'`{get_translation("replyMessage")}`') return chat = 'xiaomiui_bot' with PyroConversation(client, chat) as conv: response = None try: conv.send_msg(reply.replace('.getota', '/getota')) response = conv.recv_msg() except YouBlockedUser: edit(message, get_translation('unblockChat', ['**', '`', chat])) return except Exception as e: raise e if not response: edit(message, f'`{get_translation("answerFromBot")}`') else: edit(message, response.text)
def kang(client, message): myacc = TEMP_SETTINGS['ME'] kanger = myacc.username or myacc.first_name if myacc.username: kanger = f'@{kanger}' args = extract_args(message) reply = message.reply_to_message if not reply: edit(message, f'`{get_translation("stickerUsage")}`') return anim = False media = None if reply.photo or reply.document or reply.sticker: edit(message, f'`{choice(DIZCILIK)}`') anim = reply.sticker and reply.sticker.is_animated media = download_media_wc(reply, sticker_orig=anim) else: edit(message, f'`{get_translation("stickerError")}`') return if len(args) < 1: args = '1' emoji = '🤤' pack = 1 for item in args.split(): if item.isdigit(): pack = int(item) args = args.replace(item, '').strip() elif 'e=' in item.lower(): emoji = item.replace('e=', '') args = args.replace(item, '').strip() pname = ( PACKNAME.replace(' ', '') if PACKNAME else f'a{myacc.id}_by_{myacc.username}_{pack}' ) pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}" limit = '50' if anim else '120' def pack_created(name): try: set_name = InputStickerSetShortName(short_name=name) set = GetStickerSet(stickerset=set_name) client.send(data=set) return True except BaseException as e: return False def create_new(conv, pname, pnick): cmd = f'/new{"animated" if anim else "pack"}' try: send_recv(conv, cmd) except Exception as e: raise e msg = send_recv(conv, pnick) if msg.text == 'Invalid pack selected.': pack += 1 return create_new(conv) msg = send_recv(conv, media, doc=True) if 'Sorry, the file type is invalid.' in msg.text: edit(message, f'`{get_translation("stickerError")}`') return send_recv(conv, emoji) send_recv(conv, '/publish') if anim: send_recv(conv, f'<{pnick}>') send_recv(conv, '/skip') send_recv(conv, pname) def add_exist(conv, pack, pname, pnick): try: send_recv(conv, '/addsticker') except Exception as e: raise e status = send_recv(conv, pname) if limit in status.text: pack += 1 pname = ( PACKNAME.replace(' ', '') if PACKNAME else f'a{myacc.id}_by_{myacc.username}_{pack}' ) pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}" edit(message, get_translation('packFull', ['`', '**', str(pack)])) if pack_created(pname): return add_exist(conv, pack, pname, pnick) else: return create_new(conv, pname, pnick) send_recv(conv, media, doc=True) send_recv(conv, emoji) send_recv(conv, '/done') return True if anim: pname += '_anim' pnick += ' (Animated)' else: if not reply.sticker: media = resizer(media) with PyroConversation(client, 'Stickers') as conv: send_recv(conv, '/cancel') if pack_created(pname): ret = add_exist(conv, pack, pname, pnick) if not ret: return else: create_new(conv, pname, pnick) edit(message, get_translation('stickerAdded', ['`', pname]))
def kang(client, message): myacc = TEMP_SETTINGS['ME'] kanger = myacc.username or myacc.first_name if myacc.username: kanger = f'@{kanger}' args = extract_args(message) reply = message.reply_to_message if not reply: edit(message, f'`{get_translation("stickerUsage")}`') return anim = False video = False media = None chat = 'Stickers' if reply.photo or reply.video or reply.animation or reply.document or reply.sticker: edit(message, f'`{choice(DIZCILIK)}`') anim = reply.sticker and reply.sticker.is_animated video = (reply.animation or reply.video or reply.sticker and reply.sticker.is_video) media = download_media_wc(reply, sticker_orig=anim or video) else: edit(message, f'`{get_translation("stickerError")}`') return if not reply.sticker: try: if (reply.video or reply.animation or (reply.document and 'video' in reply.document.mime_type)): media = video_convert(media) video = True else: media = sticker_resize(media) except BaseException: edit(message, f'`{get_translation("stickerError")}`') return if len(args) < 1: args = '1' emoji = reply.sticker.emoji if reply.sticker and reply.sticker.emoji else '🤤' pack = 1 for item in args.split(): if item.isdigit(): pack = int(item) args = args.replace(item, '').strip() else: emoji = args.strip() ptime = time() pname = f'PNAME_{ptime}' pnick = f'PNICK_{ptime}' name_suffix = (('_anim', ' (Animated)') if anim else ('_video', ' (Video)') if video else ('', '')) TEMP_SETTINGS[pname] = ( PACKNAME.replace(' ', '') if PACKNAME else f'a{myacc.id}_by_{myacc.username}_{pack}{name_suffix[0]}') TEMP_SETTINGS[f'{pname}_TEMPLATE'] = f'a{myacc.id}_by_{myacc.username}_' TEMP_SETTINGS[pnick] = (PACKNICK or f'{kanger}\'s UserBot pack {pack}{name_suffix[1]}') TEMP_SETTINGS[f'{pnick}_TEMPLATE'] = f'{kanger}\'s UserBot pack ' limit = '50' if anim or video else '120' def pack_created(pname): try: set_name = InputStickerSetShortName( short_name=TEMP_SETTINGS[pname]) set = GetStickerSet(stickerset=set_name, hash=0) client.invoke(query=set) return True except BaseException: return False def create_new(conv, pack, pname, pnick): cmd = f'/new{"animated" if anim else "video" if video else "pack"}' try: send_recv(conv, cmd) except Exception as e: raise e msg = send_recv(conv, TEMP_SETTINGS[pnick]) if 'Invalid pack selected.' in msg.text: pack += 1 TEMP_SETTINGS[ pname] = f"{TEMP_SETTINGS[f'{pname}_TEMPLATE']}{pack}{name_suffix[0]}" TEMP_SETTINGS[ pnick] = f"{TEMP_SETTINGS[f'{pnick}_TEMPLATE']}{pack}{name_suffix[1]}" return create_new(conv, pack, pname, pnick) msg = send_recv(conv, media, doc=True) if 'Sorry' in msg.text: edit(message, f'`{get_translation("stickerError")}`') return send_recv(conv, emoji) send_recv(conv, '/publish') if anim or video: send_recv(conv, f'<{TEMP_SETTINGS[pnick]}>') send_recv(conv, '/skip') ret = send_recv(conv, TEMP_SETTINGS[pname]) while 'already taken' in ret.text: pack += 1 TEMP_SETTINGS[ pname] = f"{TEMP_SETTINGS[f'{pname}_TEMPLATE']}{pack}{name_suffix[0]}" TEMP_SETTINGS[ pnick] = f"{TEMP_SETTINGS[f'{pnick}_TEMPLATE']}{pack}{name_suffix[1]}" ret = send_recv(conv, TEMP_SETTINGS[pname]) return True def add_exist(conv, pack, pname, pnick): try: send_recv(conv, '/addsticker') except Exception as e: raise e status = send_recv(conv, TEMP_SETTINGS[pname]) if limit in status.text: pack += 1 TEMP_SETTINGS[ pname] = f"{TEMP_SETTINGS[f'{pname}_TEMPLATE']}{pack}{name_suffix[0]}" TEMP_SETTINGS[ pnick] = f"{TEMP_SETTINGS[f'{pnick}_TEMPLATE']}{pack}{name_suffix[1]}" edit(message, get_translation('packFull', ['`', '**', str(pack)])) if pack_created(pname): return add_exist(conv, pack, pname, pnick) else: return create_new(conv, pack, pname, pnick) status = send_recv(conv, media, doc=True) if ('Sorry' or ('duration is too long' or 'File is too big')) in status.text: edit(message, get_translation('botError', ['`', '**', chat])) return send_recv(conv, emoji) send_recv(conv, '/done') return True with PyroConversation(client, chat) as conv: try: send_recv(conv, '/cancel') except YouBlockedUser: return edit(message, get_translation('unblockChat', ['**', '`', chat])) if pack_created(pname): ret = add_exist(conv, pack, pname, pnick) if not ret: return else: create_new(conv, pack, pname, pnick) edit(message, get_translation('stickerAdded', ['`', TEMP_SETTINGS[pname]])) del TEMP_SETTINGS[pname] del TEMP_SETTINGS[pnick] del TEMP_SETTINGS[f'{pname}_TEMPLATE'] del TEMP_SETTINGS[f'{pnick}_TEMPLATE']
def kang(client, message): myacc = me[0] kanger = myacc.username or myacc.first_name if myacc.username: kanger = f'@{kanger}' args = extract_args(message) reply = message.reply_to_message if not reply: edit(message, f'`{get_translation("stickerUsage")}`') return anim = False media = None if (reply.photo or reply.document or reply.sticker): edit(message, f'`{choice(DIZCILIK)}`') anim = reply.sticker and reply.sticker.is_animated media = download_media_wc(reply, sticker_orig=anim) else: edit(message, f'`{get_translation("stickerError")}`') return if len(args) < 1: args = 1 emoji = '🤤' if ' ' in str(args): emoji, args = args.split(' ', 1) pack = 1 if not str(args).isdigit() else int(args) pname = PACKNAME.replace( ' ', '') if PACKNAME else f'a{myacc.id}_by_{myacc.username}_{pack}' pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}" limit = '50' if anim else '120' def pack_created(): created = get(f'https://telegram.me/addstickers/{pname}') created = (('A <strong>Telegram</strong> user has created the ' '<strong>Sticker Set</strong>') not in created.text) return created def create_new(conv, pack): cmd = f'/new{"animated" if anim else "pack"}' try: send_recv(conv, cmd) except Exception as e: raise e msg = send_recv(conv, pnick) if msg.text == 'Invalid pack selected.': pack += 1 return create_new(conv) msg = send_recv(conv, media, doc=True) if 'Sorry, the file type is invalid.' in msg.text: edit(message, f'`{get_translation("stickerError")}`') return send_recv(conv, emoji) send_recv(conv, '/publish') if anim: send_recv(conv, f'<{pnick}>') send_recv(conv, '/skip') send_recv(conv, pname) def add_exist(conv, pack, pname, pnick): try: send_recv(conv, '/addsticker') except Exception as e: raise e status = send_recv(conv, pname) if limit in status.text: pack += 1 pname = PACKNAME.replace( ' ', '') if PACKNAME else f'a{myacc.id}_by_{myacc.username}_{pack}' pnick = PACKNICK or f"{kanger}'s UserBot pack {pack}" edit(message, get_translation('packFull', ['`', '**', str(pack)])) return add_exist(conv, pack, pname, pnick) send_recv(conv, media, doc=True) send_recv(conv, emoji) send_recv(conv, '/done') return True if anim: pname += '_anim' pnick += ' (Animated)' else: if not reply.sticker: media = resizer(media) with PyroConversation(client, 'Stickers') as conv: if pack_created(): ret = add_exist(conv, pack, pname, pnick) if not ret: return else: create_new(conv, pack) edit(message, get_translation('stickerAdded', ['`', pname]))