Я хочу сделать бота, который получает все сообщения в группе (в моей группе всего 2 человека и бот), сохраняет их в файле, а затем удаляет все сообщения старше 2 дней каждый день в определенное время. . Мне удалось получить все сообщения и сохранить их в файле, но я не знаю, как удалять сообщения старше 2 дней.
Это мой код до сих пор:
from telegram.ext import Updater, MessageHandler, Filters import schedule import time from datetime import datetime #schedule.clear() #Created an event handler updater = Updater(token=») # add a new event handler dispatcher = updater.dispatcher def job1(bot, update): #print(update.message.message_id) #bot.get_updates()[-1].message.chat_id #print(update.message.text) #print(update.message.from_user[‘username’]) message_text = update.message.text if update.message.from_user[‘username’] == ‘myusername’: #print(‘person1’) name = ‘person1’ else: #print(‘person2’) name = ‘person2’ line = name + ‘,’ + message_text + ‘n’ #print(line) f = open(«chat.csv», «a») f.write(line) def job2(): print(‘works’) schedule.every().day.at(’00:00′).do(job2) dispatcher.add_handler(MessageHandler(Filters.text, job1)) # start polling updater.start_polling() while 1: schedule.run_pending() time.sleep(1) # # lets the program end in terminal using ctrl+c updater.idle()
Я хочу, чтобы программа удаляла старые сообщения внутри функции job2, но не знаю, как это сделать. Он работает в ожидаемое время каждый день. (также есть предложения по улучшению кода?) Спасибо!
Редактирование, удаление, перенаправление сообщений в Telegram ботах
Источник: reddeveloper.ru
Всем привет, как можно удалить сообщение который отправил сам бот?
Есть какие-то инструменты для подсчёта метрик питонского кода: WMC, DIT? Как вы вообще оцениваете сложность и качество кода в проекте в цифрах?
сегодня в 16:05
Всем привет, такой вопрос, у кого-то был опыт работы с flask и с fastapi в относительно больших проектах? Абсолютно не хочу переходить на Django, для моих задач оверхэд, но бо.
сегодня в 11:35
почему синглтон антипаттерн?
сегодня в 14:08
пишу бота написал мини программу не могу понять что он с меня хочет ?
сегодня в 19:23
А когда мы пишем в ооп стиле и у нас есть атрибут, хранящий подобный экземпляр. Это считается за di?
сегодня в 14:22
Наткнулся на такой юнит тест в кодовой базе проекта. В этом тесте есть смысл или это хрень? from mylib import Problem def test_problem_isinstance() -> None: problem = P.
сегодня в 08:34
можно ли хранить в jwt флаг is_admin? Пугает то, что любой человек в том же дебаггере jwt.io может этот флаг увидеть
сегодня в 14:48
Разве на stepik есть нормальные курсы ?
сегодня в 10:04
Добрый день пипл. Кто-то сталкивался с крашем слака при скринкастинге на дебиан подобных дистрибутивах? Я потянул не из снапа, но вот такая незадача. На редите тоже люди сталк.
Telegram магазин на Python #2. Оформление заказа, удаление сообщений
Источник: telq.org
Блог
Как удалить все сообщения в чате Telegram? (python, telegram.ext)
- Post author: admin
- Запись опубликована: 9 апреля, 2023
- Post category: Вопросы по программированию
#python
#python
Вопрос:
Я столкнулся с проблемой удаления всех сообщений (включая сообщения от самого бота) в чате telegram. Как я могу это сделать? Я использую библиотеку telegram.ext.
1. Можете ли вы опубликовать свой код и детали проблемы, с которой вы сталкиваетесь? «Проблема» может быть чем угодно
Ответ №1:
В API Telegram Bot нет методов для удаления нескольких сообщений. Вы должны знать message_id, чтобы удалить его.
библиотека python-telegram-bot поддерживает только Bot API. Вы можете использовать библиотеку telethon, которая поддерживает Telegram API.
В объекте bot есть метод delete_message, как описано в документации python-telegram-bot
bot.delete_message(chat_id=message.chat_id, message_id=message.message_id, *args, **kwargs)
Помните, что существуют некоторые ограничения:
- Сообщение может быть удалено, только если оно было отправлено менее 48 часов назад.
- Боты могут удалять исходящие сообщения в группах и супергруппах.
- Если бот является администратором группы, он может удалить любое сообщение там
- Если у бота есть разрешение can_delete_messages в супергруппе или канале, он может удалить любое сообщение там.
Вам также может понравиться
Объединение уникальных значений SQL Server
21 мая, 2023
Проблема с файлом PDF в браузере
11 мая, 2023
Как сохранить системы координат при создании сетки деталей, экспортированных из Creo в Python?
25 января, 2022
- О нас
- Онлайн игры
- Конвертеры
- Base64 конвертер онлайн
- Оформление кода JavaScript CSS HTML Онлайн
- URL Encoder (кодировщик) / Decoder (декодировщик) онлайн
- Конвертер регистров
- Рассчитать количество дней между датами
- Генератор ключей и паролей
- Генератор QR кодов
- Преобразование времени
- Преобразование микросекунд в секунды
- Преобразование микросекунд в миллисекунды
- Преобразование миллисекунд в микросекунды
- Преобразование миллисекунд в секунды
- Преобразование миллисекунд в минуты
- Преобразование миллисекунд в часы
- Преобразователь миллисекунд в дату
- Преобразование секунд в миллисекунды
- Преобразование секунд в минуты
- Преобразование секунд в часы
- Преобразование секунд в дни
- Преобразование минут во время
- Преобразование минут в миллисекунды
- Преобразование минут в секунды
- Преобразование минут в часы
- Преобразование часов в миллисекунды
- Преобразование часов в секунды
- Преобразование часов в минуты
- Преобразование часов в дни
- Преобразование дней в часы
- Преобразование из часы в недели
- Конвертация из недели в часы
- Через несколько часов калькулятор
- Преобразование времени AM/PM в 24-часовое
- Преобразование Военного Времени
- Время до десятичного калькулятора
- Безопасность
- Финансы
- Энциклопедия
Источник: programbox.ru