50x Bot Manager (Django Version)
Управление
50x.py
img.py
video.py
Настройки
Параметры каналов и цикла
Ссылка канала:
Номер Канала (число):
Название Канала:
Категория:
[Крипто]
[email]
Удалить
Добавить
Лимит (число):
Выполнить всё
Проверить скрипты
Telega51
Содержимое 50x.py:
#!/usr/bin/env python3 import asyncio from telethon import TelegramClient import datetime,string,re,os from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.methods.posts import NewPost from wordpress_xmlrpc.methods import posts import smtplib from email.mime.text import MIMEText import psycopg2 from zoneinfo import ZoneInfo def extract_youtube_links(text): # Регулярное выражение для поиска ссылок youtube.com и youtu.be regex = r'(https?://(?:www\.)?(?:youtube\.com/watch\?v=|youtu\.be/)[a-zA-Z0-9_-]+)' # Находим все совпадения links = re.findall(regex, text) # Очищаем ссылки от возможных лишних знаков в конце (strip) cleaned_links = [link.strip('.,;:') for link in links] return cleaned_links def expand_yt_url(short_url): # Извлекаем ID видео из ссылки вида https://youtu.be video_id = short_url.split('/')[-1].split('?')[0] return f"https://www.youtube.com/watch?v={video_id}" api_id = '20662346' api_hash = '8981176be8754bcd6dbfdb4d9f499b57' con = psycopg2.connect( database="localdb", user="admin1", password="549275", host="127.0.0.1", port="5432" ) g0= "https://t.me/WHATTONEWS" g1= "https://t.me/DanielB2040" g2= 'https://t.me/natykcryptooo' g3= "https://t.me/PROBLOCKCHAINSQUAD" g4= 'https://t.me/investhai5' g5= "https://t.me/Big_trader9" g6= "https://t.me/DeFi_learn" g7= "https://t.me/WHATTONEWS" g8= "https://t.me/RidCrypto_bot" g9= "https://t.me/julyincrypto" g10= "https://t.me/WHATTONEWS" g11= "https://t.me/Redmi3001" g12= "https://t.me/WHATTONEWS" g13= "https://t.me/altcoinguide" g14= "https://t.me/DeFiLEarn" g15= 'https://t.me/WHATTONEWS' g16= 'https://t.me/WHATTONEWS' g17= 'https://t.me/WHATTONEWS' g18= 'https://t.me/WHATTONEWS' g19= 'https://t.me/WHATTONEWS' g20= 'https://t.me/WHATTONEWS' g21= 'https://t.me/WHATTONEWS' g22= 'https://t.me/WHATTONEWS' g23= 'https://t.me/WHATTONEWS' g24= 'https://t.me/WHATTONEWS' g25= 'https://t.me/WHATTONEWS' g26= 'https://t.me/WHATTONEWS' g27= 'https://t.me/WHATTONEWS' g28= 'https://t.me/WHATTONEWS' g29= 'https://t.me/WHATTONEWS' g30= 'https://t.me/WHATTONEWS' g31= 'https://t.me/WHATTONEWS' g32= 'https://t.me/WHATTONEWS' g33= 'https://t.me/WHATTONEWS' g34= 'https://t.me/WHATTONEWS' g35= 'https://t.me/WHATTONEWS' g36= 'https://t.me/WHATTONEWS' g37= 'https://t.me/WHATTONEWS' g38= 'https://t.me/WHATTONEWS' g39= 'https://t.me/WHATTONEWS' g40= 'https://t.me/WHATTONEWS' g41= 'https://t.me/WHATTONEWS' g42= 'https://t.me/WHATTONEWS' g43= 'https://t.me/WHATTONEWS' g44= 'https://t.me/WHATTONEWS' g45= 'https://t.me/WHATTONEWS' g46= 'https://t.me/WHATTONEWS' g47= 'https://t.me/WHATTONEWS' g48= 'https://t.me/WHATTONEWS' g49= 'https://t.me/WHATTONEWS' g50= 'https://t.me/WHATTONEWS' g51= 'https://t.me/WHATTONEWS' g52= 'https://t.me/WHATTONEWS' g53= 'https://t.me/WHATTONEWS' g54= 'https://t.me/WHATTONEWS' g55= 'https://t.me/WHATTONEWS' g = (g0,g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14, g15,g16,g17,g18,g19,g20,g21,g22,g23,g24,g25,g26,g27,g28, g29,g30,g31,g32,g33,g34,g35,g36,g37,g38,g39,g40,g41,g42, g43,g44,g45,g46,g47,g48,g49,g50,g50,g52,g53,g54,g55) n0= "тг.Канал[Крипто] " n1= "Daniel_Gold Заметки[Важно][email] " n2= 'Natyk Crypto Youtube ' n3= "PRO BLOCKCHAIN SQUAD[Крипто] " n4= 'МУТИМ[Крипто] ' n5= "BIG TRADER[Крипто] " n6= "Defi_Learn[DEFI] " n7= "тг.Канал[Крипто] " n8= "RidCrypto[Крипто] " n9= "julyincrypto[signals] " n10= "тг.Канал[Крипто] " n11= "Pavel DATABASEMART[email] " n12= "тг.Канал[Крипто] " n13= "altcoinguide[Крипто] " n14= "DeFiLEarnResearch[Важно] " n15= 'тг.Канал[Крипто] ' n16= 'тг.Канал[Крипто] ' n17= 'тг.Канал[Крипто] ' n18= 'тг.Канал[Крипто] ' n19= 'тг.Канал[Крипто] ' n20= 'тг.Канал[Крипто] ' n21= 'тг.Канал[Крипто] ' n22= 'тг.Канал[Крипто] ' n23= 'тг.Канал[Крипто] ' n24= 'тг.Канал[Крипто] ' n25= 'тг.Канал[Крипто] ' n26= 'тг.Канал[Крипто] ' n27= 'тг.Канал[Крипто] ' n28= 'тг.Канал[Крипто] ' n29= 'тг.Канал[Крипто] ' n30= 'тг.Канал[Крипто] ' n31= 'тг.Канал[Крипто] ' n32= 'тг.Канал[Крипто] ' n33= 'тг.Канал[Крипто] ' n34= 'тг.Канал[Крипто] ' n35= 'тг.Канал[Крипто] ' n36= 'тг.Канал[Крипто] ' n37= 'тг.Канал[Крипто] ' n38= 'тг.Канал[Крипто] ' n39= 'тг.Канал[Крипто] ' n40= 'тг.Канал[Крипто] ' n41= 'тг.Канал[Крипто] ' n42= 'тг.Канал[Крипто] ' n43= 'тг.Канал[Крипто] ' n44= 'тг.Канал[Крипто] ' n45= 'тг.Канал[Крипто] ' n46= 'тг.Канал[Крипто] ' n47= 'тг.Канал[Крипто] ' n48= 'тг.Канал[Крипто] ' n49= 'тг.Канал[Крипто] ' n50= 'тг.Канал[Крипто] ' n51= 'тг.Канал[Крипто] ' n52= 'тг.Канал[Крипто] ' n53= 'тг.Канал[Крипто] ' n54= 'тг.Канал[Крипто] ' n55= 'тг.Канал[Крипто] ' n = (n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15, n16,n17,n18,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n29,n30, n31,n32,n33,n34,n35,n36,n37,n38,n39,n40,n41,n42,n43,n44,n45, n46,n47,n48,n49,n50,n51,n52,n53,n54,n55) # цикл j = 5 while j > 0: print(f"Внешний цикл: {j}") x = 1 while x < 18: print(f" Внутренний цикл: {x}") #вход async def main(): client = TelegramClient( 'session_name', api_id, api_hash, device_model='Samsung SM-G960F', system_version='Android 10', app_version='9.4.2', lang_code='ru', system_lang_code='ru-RU' ) try: await client.start( phone=lambda: input('Номер телефона (с +): '), password=lambda: input('Пароль 2FA (если нет - Enter): '), code_callback=lambda: input('Код из Telegram: ') ) me = await client.get_me() ##вход # получение сообщения channel = g[x] if channel: try: ttt3001=1 messages = await client.get_messages(channel, limit=j) if messages: for i, msg in enumerate(messages, 1): local_date = msg.date.astimezone(ZoneInfo("Europe/Kyiv")) if msg.text: text = msg.text[:100] + '...' if len(msg.text) > 100 else msg.text name = "test" if msg.video: print("Видео") ttt3001=2 else: name = "test" except Exception as e: name = "test" except KeyboardInterrupt: name = "test" except Exception as e: name = "test" finally: await client.disconnect() return (local_date,msg.text,ttt3001,) if __name__ == '__main__': asyncio.run(main()) last_message1,last_message1x,ttt3002=asyncio.run(main()) ## ]получение сообщения print(ttt3002) #if "watch" in last_message1x: if last_message1x and "yout" in last_message1x and extract_youtube_links(last_message1x): print("Найдено!") print(extract_youtube_links(last_message1x)) def generate_string(length): all_symbols = string.ascii_uppercase + string.digits result = ''.join(random.choice(all_symbols) for _ in range(length)) return result formatted_date = "{:%B %d %Y %H:%M:%S}".format(last_message1) sss = formatted_date reg = re.compile('[^a-zA-Z ]') ttt=''.join(filter(str.isnumeric, str(last_message1))) ##формат даты #подключение wordpress def create_content(): wpcontent = f'<!-- wp:paragraph -->' wpcontent += f'<p>Это открывающий абзац текста записи.</p>' wpcontent += f'<!-- /wp:paragraph -->' wpcontent += f'<!-- wp:heading -->' wpcontent += f'<h2>Первый заголовок поста</h2>' wpcontent += f'<!-- /wp:heading -->' wpcontent += f'<!-- wp:paragraph -->' wpcontent += f'<p>Это первый абзац следующий на первым заголовком H2.</p>' wpcontent += f'<!-- /wp:paragraph -->' wpcontent += f'<!-- wp:paragraph -->' wpcontent += f'<p>Это второй абзац следующий на первым заголовком H2.</p>' wpcontent += f'<!-- /wp:paragraph -->' return wpcontent def new_post(wpcontent): wp = Client('https://telega51.com/xmlrpc.php', 'men2040', 'Daniel8044$') post = WordPressPost() post.title = n[x] + "[Видео]" + str(last_message1)[:16] post.content = wpcontent # post.content ="[embed]"+expand_yt_url(link)+"[/embed]" + " " + last_message1x post.content ="[embed]"+extract_youtube_links(last_message1x)[0]+"[/embed]" + " " + last_message1x post.terms_names = { 'category': ['test'], 'post_tag': ['test', 'test'] } post.post_status = 'publish' post.id = wp.call(NewPost(post)) if __name__ == '__main__': wpcontent = create_content() ##подключение wordpress #Подключение email def send_email(message): sender = "men2040@gmail.com" password = "f j l y o t g j n q n y o y x h" server = smtplib.SMTP("smtp.gmail.com", 587) server.starttls() try: server.login(sender, password) msg = MIMEText(message) msg["Subject"] = n[x] server.sendmail(sender, sender, msg.as_string()) return "The message was sent successfully!" except Exception as _ex: return f"{_ex}\nCheck your login or password please!" def main(): message = "Type your message:111 " if __name__ == "__main__": main() ##Подключение email #Проверка на уникальность folder_path = '/bin/django/1' file_names = [] for file_name in os.listdir(folder_path): if os.path.isfile(os.path.join(folder_path, file_name)): file_names.append(file_name) if n[x]+ttt+''+'.txt' in file_names: print('noadd') ##Проверка на уникальность #Запись else: print('add') new_post(wpcontent) img3001='main/img/'+ttt+'.jpg' video3001='video' if ttt3002==2: video3001='main/mp4/'+ttt+'.mp4' print(ttt3002) last3001= '###'+ last_message1x print("Database opened successfully") cur = con.cursor() cur.execute( "INSERT INTO news_test3001 (title,anons,full_text,date,video) VALUES (%s, %s, %s,%s,%s)",(n[x],img3001, last3001,last_message1,video3001) ) con.commit() print("Record inserted successfully") if "email" in n[x]: message = last_message1x send_email(message) file=open('1/'+n[x]+ttt+'.txt', 'w',encoding="utf-8" ) file.write(last_message1x) file.close() ##Запись #формат даты else: print("Не найдено") def generate_string(length): all_symbols = string.ascii_uppercase + string.digits result = ''.join(random.choice(all_symbols) for _ in range(length)) return result formatted_date = "{:%B %d %Y %H:%M:%S}".format(last_message1) sss = formatted_date reg = re.compile('[^a-zA-Z ]') ttt=''.join(filter(str.isnumeric, str(last_message1))) ##формат даты #подключение wordpress def create_content(): wpcontent = f'<!-- wp:paragraph -->' wpcontent += f'<p>Это открывающий абзац текста записи.</p>' wpcontent += f'<!-- /wp:paragraph -->' wpcontent += f'<!-- wp:heading -->' wpcontent += f'<h2>Первый заголовок поста</h2>' wpcontent += f'<!-- /wp:heading -->' wpcontent += f'<!-- wp:paragraph -->' wpcontent += f'<p>Это первый абзац следующий на первым заголовком H2.</p>' wpcontent += f'<!-- /wp:paragraph -->' wpcontent += f'<!-- wp:paragraph -->' wpcontent += f'<p>Это второй абзац следующий на первым заголовком H2.</p>' wpcontent += f'<!-- /wp:paragraph -->' return wpcontent def new_post(wpcontent): wp = Client('https://telega51.com/xmlrpc.php', 'men2040', 'Daniel8044$') post = WordPressPost() post.title = n[x] + str(last_message1)[:16] post.content = wpcontent post.content = last_message1x post.terms_names = { 'category': ['test'], 'post_tag': ['test', 'test'] } post.post_status = 'publish' post.id = wp.call(NewPost(post)) if __name__ == '__main__': wpcontent = create_content() ##подключение wordpress #Подключение email def send_email(message): sender = "men2040@gmail.com" password = "f j l y o t g j n q n y o y x h" server = smtplib.SMTP("smtp.gmail.com", 587) server.starttls() try: server.login(sender, password) msg = MIMEText(message) msg["Subject"] = n[x] server.sendmail(sender, sender, msg.as_string()) return "The message was sent successfully!" except Exception as _ex: return f"{_ex}\nCheck your login or password please!" def main(): message = "Type your message:111 " if __name__ == "__main__": main() ##Подключение email #Проверка на уникальность folder_path = '/bin/django/1' file_names = [] for file_name in os.listdir(folder_path): if os.path.isfile(os.path.join(folder_path, file_name)): file_names.append(file_name) if n[x]+ttt+''+'.txt' in file_names: print('noadd') ##Проверка на уникальность #Запись else: print('add') new_post(wpcontent) video3001='video' img3001='main/img/'+ttt+'.jpg' if ttt3002==2: video3001='main/mp4/'+ttt+'.mp4' if last_message1x is None: last_message1x=' ###' last3001= '###'+ last_message1x print("Database opened successfully") cur = con.cursor() cur.execute( "INSERT INTO news_test3001 (title,anons,full_text,date,video) VALUES (%s, %s, %s,%s ,%s )",(n[x],img3001, last3001,last_message1,video3001) ) con.commit() print("Record inserted successfully") if "email" in n[x]: message = last_message1x send_email(message) file=open('1/'+n[x]+ttt+'.txt', 'w',encoding="utf-8" ) file.write(last_message1x) file.close() ##Запись x += 1 j += -1 ##цикл
Сохранить файлы
Содержимое img.py:
import asyncio from telethon import TelegramClient import datetime,string,re,os from zoneinfo import ZoneInfo api_id = 20662346 api_hash = '8981176be8754bcd6dbfdb4d9f499b57' phone = '+972555076344' g0= "https://t.me/WHATTONEWS" g1= 'https://t.me/WHATTONEWS' g2= 'https://t.me/natykcryptooo' g3= "https://t.me/PROBLOCKCHAINSQUAD" g4= 'https://t.me/investhai5' g5= "https://t.me/Big_trader9" g6= "https://t.me/DeFi_learn" g7= "https://t.me/WHATTONEWS" g8= "https://t.me/RidCrypto_bot" g9= "https://t.me/julyincrypto" g10= "https://t.me/WHATTONEWS" g11= "https://t.me/Redmi3001" g12= "https://t.me/DanielB2040" g13= "https://t.me/WHATTONEWS" g14= "https://t.me/DeFiLEarn" g15= 'https://t.me/investhai5' g16= 'https://t.me/WHATTONEWS' g17= 'https://t.me/WHATTONEWS' g18= 'https://t.me/WHATTONEWS' g19= 'https://t.me/WHATTONEWS' g20= 'https://t.me/WHATTONEWS' g21= 'https://t.me/WHATTONEWS' g22= 'https://t.me/WHATTONEWS' g23= 'https://t.me/WHATTONEWS' g24= 'https://t.me/WHATTONEWS' g25= 'https://t.me/WHATTONEWS' g26= 'https://t.me/WHATTONEWS' g27= 'https://t.me/WHATTONEWS' g28= 'https://t.me/WHATTONEWS' g29= 'https://t.me/WHATTONEWS' g30= 'https://t.me/WHATTONEWS' g31= 'https://t.me/WHATTONEWS' g32= 'https://t.me/WHATTONEWS' g33= 'https://t.me/WHATTONEWS' g34= 'https://t.me/WHATTONEWS' g35= 'https://t.me/WHATTONEWS' g36= 'https://t.me/WHATTONEWS' g37= 'https://t.me/WHATTONEWS' g38= 'https://t.me/WHATTONEWS' g39= 'https://t.me/WHATTONEWS' g40= 'https://t.me/WHATTONEWS' g41= 'https://t.me/WHATTONEWS' g42= 'https://t.me/WHATTONEWS' g43= 'https://t.me/WHATTONEWS' g44= 'https://t.me/WHATTONEWS' g45= 'https://t.me/WHATTONEWS' g46= 'https://t.me/WHATTONEWS' g47= 'https://t.me/WHATTONEWS' g48= 'https://t.me/WHATTONEWS' g49= 'https://t.me/WHATTONEWS' g50= 'https://t.me/WHATTONEWS' g51= 'https://t.me/WHATTONEWS' g52= 'https://t.me/WHATTONEWS' g53= 'https://t.me/WHATTONEWS' g54= 'https://t.me/WHATTONEWS' g55= 'https://t.me/WHATTONEWS' g = (g0,g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14, g15,g16,g17,g18,g19,g20,g21,g22,g23,g24,g25,g26,g27,g28, g29,g30,g31,g32,g33,g34,g35,g36,g37,g38,g39,g40,g41,g42, g43,g44,g45,g46,g47,g48,g49,g50,g50,g52,g53,g54,g55) n0= "тг.Канал[Крипто] " n1= 'Криптовалюта[Крипто] ' n2= 'Natyk Crypto Youtube ' n3= "PRO BLOCKCHAIN SQUAD[Крипто] " n4= 'МУТИМ[Крипто] ' n5= "BIG TRADER[Крипто] " n6= "Defi_Learn[DEFI] " n7= "тг.Канал[Крипто] " n8= "RidCrypto[Крипто] " n9= "julyincrypto[signals] " n10= "Золотое правило[Крипто] " n11= "Pavel DATABASEMART[email] " n12= "Заметки[Важно][email] " n13= "Криптовалюта[Крипто] " n14= "DeFiLEarnResearch[Важно] " n15= 'МУТИМ[Крипто] ' n16= 'Криптовалюта[Крипто] ' n17= 'Криптовалюта[Крипто] ' n18= 'Криптовалюта[Крипто] ' n19= 'Криптовалюта[Крипто] ' n20= 'Криптовалюта[Крипто] ' n21= 'Криптовалюта[Крипто] ' n22= 'Криптовалюта[Крипто] ' n23= 'Криптовалюта[Крипто] ' n24= 'Криптовалюта[Крипто] ' n25= 'Криптовалюта[Крипто] ' n26= 'Криптовалюта[Крипто] ' n27= 'Криптовалюта[Крипто] ' n28= 'Криптовалюта[Крипто] ' n29= 'Криптовалюта[Крипто] ' n30= 'Криптовалюта[Крипто] ' n31= 'Криптовалюта[Крипто] ' n32= 'Криптовалюта[Крипто] ' n33= 'Криптовалюта[Крипто] ' n34= 'Криптовалюта[Крипто] ' n35= 'Криптовалюта[Крипто] ' n36= 'Криптовалюта[Крипто] ' n37= 'Криптовалюта[Крипто] ' n38= 'Криптовалюта[Крипто] ' n39= 'Криптовалюта[Крипто] ' n40= 'Криптовалюта[Крипто] ' n41= 'Криптовалюта[Крипто] ' n42= 'Криптовалюта[Крипто] ' n43= 'Криптовалюта[Крипто] ' n44= 'Криптовалюта[Крипто] ' n45= 'Криптовалюта[Крипто] ' n46= 'Криптовалюта[Крипто] ' n47= 'Криптовалюта[Крипто] ' n48= 'Криптовалюта[Крипто] ' n49= 'Криптовалюта[Крипто] ' n50= 'Криптовалюта[Крипто] ' n51= 'Криптовалюта[Крипто] ' n52= 'Криптовалюта[Крипто] ' n53= 'Криптовалюта[Крипто] ' n54= 'Криптовалюта[Крипто] ' n55= 'Криптовалюта[Крипто] ' n = (n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15, n16,n17,n18,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n29,n30, n31,n32,n33,n34,n35,n36,n37,n38,n39,n40,n41,n42,n43,n44,n45, n46,n47,n48,n49,n50,n51,n52,n53,n54,n55) j = 5 while j > 0: print(f"Внешний цикл: {j}") x = 1 while x < 18: print(f" Внутренний цикл: {x}") channel_username = g[x] # или ID канала async def main(): client = TelegramClient('session_name', api_id, api_hash) await client.start(phone) async for message in client.iter_messages(channel_username, limit=j): local_date = message.date.astimezone(ZoneInfo("Europe/Kyiv")) if message.photo: folder_path = '/bin/django/hhh/main/static/main/img/' ttt=''.join(filter(str.isnumeric, str(local_date))) file_names = [] for file_name in os.listdir(folder_path): if os.path.isfile(os.path.join(folder_path, file_name)): file_names.append(file_name) if ttt+'.jpg' in file_names: p_file = os.path.join(folder_path, ttt+'.jpg') if os.path.exists(p_file) and os.path.getsize(p_file) < 500: os.remove(p_file) print('add') temp_path = os.path.join(folder_path, ttt + '.tmp') if os.path.exists(temp_path): os.remove(temp_path) await message.download_media(temp_path) os.rename(temp_path, p_file) else: print('noadd') elif ttt+'.mp4' in file_names: print('noadd') else: print('add') temp_path = os.path.join(folder_path, ttt + '.tmp') if os.path.exists(temp_path): os.remove(temp_path) await message.download_media(temp_path) p_file = os.path.join(folder_path, ttt + '.jpg') os.rename(temp_path, p_file) await client.disconnect() if __name__ == '__main__': asyncio.run(main()) x += 1 j += -1
Сохранить файлы
Содержимое video.py:
import asyncio from telethon import TelegramClient import datetime,string,re,os from zoneinfo import ZoneInfo api_id = 20662346 api_hash = '8981176be8754bcd6dbfdb4d9f499b57' phone = '+972555076344' g0= "https://t.me/WHATTONEWS" g1= 'https://t.me/WHATTONEWS' g2= 'https://t.me/natykcryptooo' g3= "https://t.me/PROBLOCKCHAINSQUAD" g4= 'https://t.me/investhai5' g5= "https://t.me/Big_trader9" g6= "https://t.me/DeFi_learn" g7= "https://t.me/WHATTONEWS" g8= "https://t.me/RidCrypto_bot" g9= "https://t.me/julyincrypto" g10= "https://t.me/WHATTONEWS" g11= "https://t.me/Redmi3001" g12= "https://t.me/DanielB2040" g13= "https://t.me/WHATTONEWS" g14= "https://t.me/DeFiLEarn" g15= 'https://t.me/investhai5' g16= 'https://t.me/WHATTONEWS' g17= 'https://t.me/WHATTONEWS' g18= 'https://t.me/WHATTONEWS' g19= 'https://t.me/WHATTONEWS' g20= 'https://t.me/WHATTONEWS' g21= 'https://t.me/WHATTONEWS' g22= 'https://t.me/WHATTONEWS' g23= 'https://t.me/WHATTONEWS' g24= 'https://t.me/WHATTONEWS' g25= 'https://t.me/WHATTONEWS' g26= 'https://t.me/WHATTONEWS' g27= 'https://t.me/WHATTONEWS' g28= 'https://t.me/WHATTONEWS' g29= 'https://t.me/WHATTONEWS' g30= 'https://t.me/WHATTONEWS' g31= 'https://t.me/WHATTONEWS' g32= 'https://t.me/WHATTONEWS' g33= 'https://t.me/WHATTONEWS' g34= 'https://t.me/WHATTONEWS' g35= 'https://t.me/WHATTONEWS' g36= 'https://t.me/WHATTONEWS' g37= 'https://t.me/WHATTONEWS' g38= 'https://t.me/WHATTONEWS' g39= 'https://t.me/WHATTONEWS' g40= 'https://t.me/WHATTONEWS' g41= 'https://t.me/WHATTONEWS' g42= 'https://t.me/WHATTONEWS' g43= 'https://t.me/WHATTONEWS' g44= 'https://t.me/WHATTONEWS' g45= 'https://t.me/WHATTONEWS' g46= 'https://t.me/WHATTONEWS' g47= 'https://t.me/WHATTONEWS' g48= 'https://t.me/WHATTONEWS' g49= 'https://t.me/WHATTONEWS' g50= 'https://t.me/WHATTONEWS' g51= 'https://t.me/WHATTONEWS' g52= 'https://t.me/WHATTONEWS' g53= 'https://t.me/WHATTONEWS' g54= 'https://t.me/WHATTONEWS' g55= 'https://t.me/WHATTONEWS' g = (g0,g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12,g13,g14, g15,g16,g17,g18,g19,g20,g21,g22,g23,g24,g25,g26,g27,g28, g29,g30,g31,g32,g33,g34,g35,g36,g37,g38,g39,g40,g41,g42, g43,g44,g45,g46,g47,g48,g49,g50,g50,g52,g53,g54,g55) n0= "тг.Канал[Крипто] " n1= 'Криптовалюта[Крипто] ' n2= 'Natyk Crypto Youtube ' n3= "PRO BLOCKCHAIN SQUAD[Крипто] " n4= 'МУТИМ[Крипто] ' n5= "BIG TRADER[Крипто] " n6= "Defi_Learn[DEFI] " n7= "тг.Канал[Крипто] " n8= "RidCrypto[Крипто] " n9= "julyincrypto[signals] " n10= "Золотое правило[Крипто] " n11= "Pavel DATABASEMART[email] " n12= "Заметки[Важно][email] " n13= "Криптовалюта[Крипто] " n14= "DeFiLEarnResearch[Важно] " n15= 'МУТИМ[Крипто] ' n16= 'Криптовалюта[Крипто] ' n17= 'Криптовалюта[Крипто] ' n18= 'Криптовалюта[Крипто] ' n19= 'Криптовалюта[Крипто] ' n20= 'Криптовалюта[Крипто] ' n21= 'Криптовалюта[Крипто] ' n22= 'Криптовалюта[Крипто] ' n23= 'Криптовалюта[Крипто] ' n24= 'Криптовалюта[Крипто] ' n25= 'Криптовалюта[Крипто] ' n26= 'Криптовалюта[Крипто] ' n27= 'Криптовалюта[Крипто] ' n28= 'Криптовалюта[Крипто] ' n29= 'Криптовалюта[Крипто] ' n30= 'Криптовалюта[Крипто] ' n31= 'Криптовалюта[Крипто] ' n32= 'Криптовалюта[Крипто] ' n33= 'Криптовалюта[Крипто] ' n34= 'Криптовалюта[Крипто] ' n35= 'Криптовалюта[Крипто] ' n36= 'Криптовалюта[Крипто] ' n37= 'Криптовалюта[Крипто] ' n38= 'Криптовалюта[Крипто] ' n39= 'Криптовалюта[Крипто] ' n40= 'Криптовалюта[Крипто] ' n41= 'Криптовалюта[Крипто] ' n42= 'Криптовалюта[Крипто] ' n43= 'Криптовалюта[Крипто] ' n44= 'Криптовалюта[Крипто] ' n45= 'Криптовалюта[Крипто] ' n46= 'Криптовалюта[Крипто] ' n47= 'Криптовалюта[Крипто] ' n48= 'Криптовалюта[Крипто] ' n49= 'Криптовалюта[Крипто] ' n50= 'Криптовалюта[Крипто] ' n51= 'Криптовалюта[Крипто] ' n52= 'Криптовалюта[Крипто] ' n53= 'Криптовалюта[Крипто] ' n54= 'Криптовалюта[Крипто] ' n55= 'Криптовалюта[Крипто] ' n = (n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15, n16,n17,n18,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n29,n30, n31,n32,n33,n34,n35,n36,n37,n38,n39,n40,n41,n42,n43,n44,n45, n46,n47,n48,n49,n50,n51,n52,n53,n54,n55) j = 1 while j > 0: print(f"Внешний цикл: {j}") x = 1 while x < 18: print(f" Внутренний цикл: {x}") channel_username = g[x] # или ID канала async def main(): # Создаем клиент, используя session_name client = TelegramClient('session_name', api_id, api_hash) await client.start(phone) async for message in client.iter_messages(channel_username, limit=j): local_date = message.date.astimezone(ZoneInfo("Europe/Kyiv")) if message.video: folder_path = '/bin/django/hhh/main/static/main/mp4/' ttt=''.join(filter(str.isnumeric, str(local_date))) file_names = [] for file_name in os.listdir(folder_path): if os.path.isfile(os.path.join(folder_path, file_name)): file_names.append(file_name) if ttt+'.jpg' in file_names: print('noadd') elif ttt+'.mp4' in file_names: p_file = os.path.join(folder_path, ttt+'.mp4') if os.path.exists(p_file) and os.path.getsize(p_file) < 10000: os.remove(p_file) print('add') temp_path = os.path.join(folder_path, ttt + '.tmp') if os.path.exists(temp_path): os.remove(temp_path) await message.download_media(temp_path) os.rename(temp_path, p_file) else: print('noadd') else: print('add') temp_path = os.path.join(folder_path, ttt + '.tmp') if os.path.exists(temp_path): os.remove(temp_path) await message.download_media(temp_path) p_file = os.path.join(folder_path, ttt + '.mp4') os.rename(temp_path, p_file) await client.disconnect() if __name__ == '__main__': asyncio.run(main()) x += 1 j += -1
Сохранить файлы
Смещения строк (Offsets)
Edit5 (g base):
Edit6 (n base):
Edit7 (while line 50x):
Edit8 (g base img/vid):
Edit9 (n base img/vid):
Edit10 (while line img/vid):
Добавить / Обновить
Сохранить файлы
Обновить цикл
Загрузить файлы
Содержимое cat.txt (Категории):
[Крипто] [email]