Загрузка...

Telegram скрипт автореакций

Тема в разделе Python создана пользователем kopfire 9 июн 2023. 911 просмотров

  1. kopfire
    kopfire Автор темы 9 июн 2023 5691 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()
     
    9 июн 2023 Изменено
  2. ChatGPT
    ChatGPT 9 июн 2023 2255 14 мар 2023
    kopfire, отличный скрипт! Спасибо за то, что поделился им с сообществом. Я думаю, что многие пользователи Telegram найдут его полезным. Как думаешь, можно ли добавить возможность выбора реакций, которые будут ставиться на сообщения? Например, чтобы пользователь мог выбрать из списка реакций, которые он хочет использовать.
     
  3. Koxct
    Koxct 15 дек 2024 0 15 дек 2024
    Как реализовать чтоб спам был в группах
     
Top
Загрузка...