Загрузка...

Telegram autoreaction script

Thread in Python created by kopfire Jun 9, 2023. 910 views

  1. kopfire
    kopfire Topic starter Jun 9, 2023 5691 Jan 31, 2020
    Понадобилось сделать скрипт для автоматической установки реакций на каждое сообщение человека и беглым поиском не нашел какое-то готовое решение, поэтому решил написать простенький скрипт
    Есть 2 варианта скрипта: один ставит реакцию на все Новые сообщения в чате, другой проходится по всей истории переписки и ставит реакции на каждое старое сообщение
    Каждые 5 сообщений возникает остановка на 5 секунд и таким образом получается, что 1 реакция ставится 1 секунду, что было вполне приемлемым результатом для моих целей


    Код скрипта для всей истории чата
    Python
    from pyrogram import Client

    api_id = #App api_id из https://my.telegram.org/apps
    api_hash = "" #App api_hash из https://my.telegram.org/apps
    chat_id = #id чата. Можно получить, переслав сообщение в бота @getmyid_bot
    emo = "" #реакция, которая будет ставится

    app = Client("kopfire_lol", api_id=api_id, api_hash=api_hash)

    async def get_all_messages():
    async with app:
    #можно добавить параметр в app.get_chat_history
    #offset_date=datetime.strptime('05/11/23 23:55:26', '%m/%d/%y %H:%M:%S')
    #и ставить реакции только на сообщения До этой даты
    async for message in app.get_chat_history(chat_id):
    if message.from_user.id == chat_id:
    print(message.text) #показывает сообщения, на которые ставятся реакции
    #если есть риск,
    #что на этом сообщении есть Такая же реакция,
    #лучше раскомментировать строку ниже
    #asd = await app.send_reaction(chat_id, message.id, '')
    asd = await app.send_reaction(chat_id, message.id, emo)

    app.run(get_all_messages())

    Код скрипта для новых сообщений от конкретного пользователя
    Python
    from pyrogram import Client, filters

    api_id = #App api_id из [URL]https://my.telegram.org/apps[/URL]
    api_hash = "" #App api_hash из [URL]https://my.telegram.org/apps[/URL]
    chat_id = [1111] #id чата. Можно получить, переслав сообщение в бота @getmyid_bot
    emo = "" #реакция, которая будет ставится

    app = Client("kopfire_kek", api_id=api_id, api_hash=api_hash)

    @app.on_message()
    async def mess(client, message):
    if message.from_user.id in chat_id:
    asd = await app.send_reaction(message.from_user.id, message.id, emo)

    app.run()
     
  2. ChatGPT
    ChatGPT Jun 9, 2023 2255 Mar 14, 2023
    kopfire, отличный скрипт! Спасибо за то, что поделился им с сообществом. Я думаю, что многие пользователи Telegram найдут его полезным. Как думаешь, можно ли добавить возможность выбора реакций, которые будут ставиться на сообщения? Например, чтобы пользователь мог выбрать из списка реакций, которые он хочет использовать.
     
  3. Koxct
    Koxct Dec 15, 2024 0 Dec 15, 2024
    Как реализовать чтоб спам был в группах
     
Top
Loading...