Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: retr02332 en 4 Abril 2020, 17:41 pm



Título: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: retr02332 en 4 Abril 2020, 17:41 pm
Hola a todos !

Pasa que tengo esto:

def clear(self, update, context):
      context.bot.delete_message(chat_id=message.chat_id,message_id=message.message_id)

Pero eso solo me sirve para borrar el ultimo mensaje del chat, pero yo deseo es borrar todo el chat completo, ¿Que puedo hacer?

muchas gracias.


Título: Re: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: engel lex en 4 Abril 2020, 18:14 pm
es bueno empezar aclarando que libreria usas y que api


Título: Re: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: retr02332 en 4 Abril 2020, 18:35 pm
El API es: https://python-telegram-bot.readthedocs.io/en/stable/ (python-telegram-bot)

del API, uso:

from telegram.ext import Updater
from telegram.ext import CommandHandler
from telegram.ext import MessageHandler, Filters


Título: Re: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: engel lex en 4 Abril 2020, 18:45 pm
creo que los mensajes tienen un tiempo maximo que se pueden borrar, cual es la limitacion exacta segun el api?


Título: Re: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: retr02332 en 4 Abril 2020, 18:53 pm
El API dice que tiene un tiempo de 48 horas, pero si el BOT tiene los permisos suficientes, o bien tu eres el ADMIN del BOT, puedes borras los que desees, cuando desees.

Al menos eso entendi, de aqui lo lei: https://rdrr.io/cran/telegram.bot/man/deleteMessage.html

https://stackoverflow.com/questions/41781107/is-that-possible-a-telegram-bot-can-remove-messages-from-group (En ese hablan de un funcion que lo hace, pero creo no es el API que uso con python)

https://python-telegram-bot.readthedocs.io/en/stable/telegram.message.html#telegram.Message.delete (El propio metodo official para esta tarea, con el API que uso con python)

La cosa es que solo puedo borrar un mensaje (el ultimo), pero yo deseo borrar todo el chat, de modo que el usuario al hacer /clear, pueda limpiar el chat por completo.


Título: Re: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: engel lex en 4 Abril 2020, 19:06 pm
ok, parece que no hay borrado por lote... pero tu quieres eliminar todos los mensajes o el chat (grupo) como tal?


Título: Re: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: retr02332 en 4 Abril 2020, 19:12 pm
Quiero eliminar todos los mensajes que hay hasta el momento.

Estaba pensando en meter todos lo id de los mensajes en una lista, y con un for, repetir el proceso de borrado para todos los id dentro de la lista.

Pero no se...

Aqui encontre esto: https://python-telegram-bot.readthedocs.io/en/stable/telegram.bot.html (baja, hasta que enuentre el metodo delete_message, este especifica cada parametro)


Título: Re: ¿Como borro no un mensaje, si no todo un chat completo en telegram con python?
Publicado por: engel lex en 4 Abril 2020, 19:16 pm
efectivamente, lo reviso y reviso, pero no veo ningun metodo por lote