patch b785776c7df3016fb9c83aa7f7b9e51815435bab
Author: E. Bosch <presidev@AT@gmail.com>
Date: Thu Jul 23 18:06:45 CEST 2026
* Merge pull request #18 on github from phillbush/message-deleted-not-in-cache along with an option to configure the new behaviour
move "Message id ... deleted not in cache" into logger
TelegramServ can get filled with warnings like
Message id 012345 deleted not in cache
if you are in a channel/group that automatically deletes messages after
a certain time, and the deleted message is not in cache.
Warn that in the logger.
With "info" severity, because that's not actually an issue, just
something that can happen.
Add option "log_deleted" to enable this, by default false (use TelegramServ)
diff -rN -u old-irgramd/irgramd new-irgramd/irgramd
--- old-irgramd/irgramd 2026-07-25 07:27:27.903758399 +0200
+++ new-irgramd/irgramd 2026-07-25 07:27:27.907758399 +0200
@@ -94,6 +94,7 @@
tornado.options.define('irc_nicks', type=str, multiple=True, metavar='nick,..', help='List of nicks allowed for IRC, if `pam` and optionally `pam_group` are set, PAM authentication will be used instead')
tornado.options.define('irc_password', default='', metavar='PASSWORD', help='Password for IRC authentication, if `pam` is set, PAM authentication will be used instead')
tornado.options.define('irc_port', type=int, default=None, metavar='PORT', help='Port to listen on for IRC. (default 6667, default with TLS 6697)')
+ tornado.options.define('log_deleted', default=False, help='Deleted messages not in cache are logged, if disabled service user [TelegramServ] will notify them')
tornado.options.define('log_file', default=None, metavar='PATH', help='File where logs are appended, if not set will be stderr')
tornado.options.define('log_level', default='INFO', metavar='DEBUG|INFO|WARNING|ERROR|CRITICAL|NONE', help='The log level (and any higher to it) that will be logged')
tornado.options.define('media_dir', default=None, metavar='PATH', help='Directory where Telegram media files are downloaded, default "media" in `cache_dir`')
diff -rN -u old-irgramd/telegram.py new-irgramd/telegram.py
--- old-irgramd/telegram.py 2026-07-25 07:27:27.903758399 +0200
+++ new-irgramd/telegram.py 2026-07-25 07:27:27.907758399 +0200
@@ -60,6 +60,7 @@
self.hist_fmt = settings['hist_timestamp_format']
self.timezone = settings['timezone']
self.geo_url = settings['geo_url']
+ self.log_del = settings['log_deleted']
if not settings['emoji_ascii']:
e.emo = {}
self.token = token('+0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz')
@@ -645,8 +646,11 @@
await self.relay_telegram_message(message=None, user=user, text=text, channel=chan)
self.to_volatile_cache(self.prev_id, deleted_id, text, user, chan, current_date())
else:
- text = 'Message id {} deleted not in cache'.format(deleted_id)
- await self.relay_telegram_private_message(self.irc.service_user, text)
+ if self.log_del:
+ self.logger.info('Message id {} deleted not in cache'.format(deleted_id))
+ else:
+ text = 'Message id {} deleted not in cache'.format(deleted_id)
+ await self.relay_telegram_private_message(self.irc.service_user, text)
async def handle_raw(self, update):
self.logger.debug('Handling Telegram Raw Event: %s', pretty(update))