Guto Carvalho # 2022-01-05 @ BSB
Guto Carvalho # 2022-01-05 @ BSB

Auto-reply no telegram

by

Surgiu a necessidade de colocar um auto-reply no Telegram para avisar que agora eu estou mais presente no Discord.

Já tinha uma galera bem brava comigo por não responder PVT, sorry gente :)

Procurei em muitos lugares e acabei achando esse snippet aqui e estou usando desde então.

Basicamente é um script em Python que usa a biblioteca Telethon.

import time

from telethon import TelegramClient, events

api_id = SEU_API_ID
api_hash = 'SEU_API_HASH'

# fill in your own details here
phone = 'SEU_NUMERO_DE_TELEFONE'
session_file = './session.gutera'  # use your username if unsure
password = 'SUA_SENHA'  # if you have two-step verification enabled

# content of the automatic reply
message = "[guterabot] Olá, estou dando um tempo do telegram, caso precise falar comigo entre no DISCORD #BolhaTech https://abre.ai/bolhatech"

if __name__ == '__main__':
    # Create the client and connect
    # use sequential_updates=True to respond to messages one at a time
    client = TelegramClient(session_file, api_id, api_hash, sequential_updates=True)


    @client.on(events.NewMessage(incoming=True))
    async def handle_new_message(event):
        if event.is_private:  # only auto-reply to private chats
            from_ = await event.client.get_entity(event.from_id)  # this lookup will be cached by telethon
            if not from_.bot:  # don't auto-reply to bots
                print(time.asctime(), '-', event.message)  # optionally log time and message
                time.sleep(1)  # pause for 1 second to rate-limit automatic replies
                await event.respond(message)


    print(time.asctime(), '-', 'Auto-replying...')
    client.start(phone, password)
    client.run_until_disconnected()
    print(time.asctime(), '-', 'Stopped!')

É só mandar um

 $ python3 nome_do_arquivo.py

E pronto, auto-reply funcionando.

Refs