ТЕГГЕР / УПОМИНАЛКА ДЛЯ ТГ (ИСХОДНОЙ КОД)
Доброго времени суток , дорогие читатели. Я вышел на охоту реакций поэтому так часто публикую всякие приколюхи но лоухайдах. Сегодня очередной раз я сделаю так же за просто лайк на тему. Не будем тянуть , сразу к коду.
from functools import partial
from pyrogram import Client
import pyrogram
import time
from pyrogram import errors
def chunker(lst, n):
for i in range(0, len(lst), n):
yield lst[i : i + n]
api_id = 0
api_hash = ""
phone = input("Введите телефон: ")
app = Client(f"{phone}-tagger", api_id, api_hash, phone_number=phone)
app.start()
file = input("Введите путь до файла с никами: ")
message: pyrogram.types.Message = app.get_history("me", limit=1)[-1]
nicks = open(file, "r", encoding="utf-8").readlines()
nicks = [i.replace("\n", "") for i in nicks]
TIMES_REPEAT = 2 # Количество повторений
DELAY_PER_CHAT = 120 # Задержка между чатами
DELAY_PER_MESSAGE = 2 # Задержка между сообщениями
print("Starting")
for _ in range(TIMES_REPEAT):
for nick in nicks:
try:
tags = []
for user in app.iter_chat_members(nick):
user: pyrogram.types.ChatMember
tags.append(f"<a href='tg://user?id={user.user.id}'>\u2060</a>")
chunks = list(chunker(tags, 5))
for chunk in chunks:
if message.text:
message._client.send_message(
nick,
text=message.text.html + "\n" + "\u2060".join(chunk),
disable_web_page_preview=not message.web_page,
parse_mode="html",
)
elif message.media:
send_media = partial(
message._client.send_cached_media,
chat_id=nick,
)
if message.photo:
file_id = message.photo.file_id
elif message.audio:
file_id = message.audio.file_id
elif message.document:
file_id = message.document.file_id
elif message.video:
file_id = message.video.file_id
elif message.animation:
file_id = message.animation.file_id
elif message.voice:
file_id = message.voice.file_id
elif message.sticker:
file_id = message.sticker.file_id
elif message.video_note:
file_id = message.video_note.file_id
elif message.poll:
message._client.send_poll(
nick,
question=message.poll.question,
options=[opt.text for opt in message.poll.options],
)
elif message.game:
message._client.send_game(
nick,
game_short_name=message.game.short_name,
)
else:
raise ValueError("Unknown media type")
if (
message.sticker or message.video_note
): # Sticker and VideoNote should have no caption
send_media(file_id=file_id)
else:
caption = message.caption or ""
send_media(
file_id=file_id,
caption=caption.html + "\n" + "\u2060".join(chunk),
parse_mode="html",
)
else:
print("Unknown message")
time.sleep(DELAY_PER_MESSAGE)
except errors.exceptions.flood_420.SlowmodeWait:
print(f"{nick} имеет слоумод")
finally:
time.sleep(DELAY_PER_CHAT) # задержка между чатами
- отображается для зарегистрированных.Не жалейте поставить лайк!