¿Como borro no un mensaje, si no todo un chat completo en telegram con python?

Iniciado por retr02332, 4 Abril 2020, 17:41 PM

0 Miembros y 1 Visitante están viendo este tema.

retr02332

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.

engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

retr02332

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

engel lex

creo que los mensajes tienen un tiempo maximo que se pueden borrar, cual es la limitacion exacta segun el api?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

retr02332

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.

engel lex

ok, parece que no hay borrado por lote... pero tu quieres eliminar todos los mensajes o el chat (grupo) como tal?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

retr02332

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)

engel lex

efectivamente, lo reviso y reviso, pero no veo ningun metodo por lote
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.