thumbnail and bot token

pull/72/head
msramalho 2023-02-02 13:49:56 +00:00
rodzic e758bd076b
commit 4854929a1d
3 zmienionych plików z 12 dodań i 2 usunięć

Wyświetl plik

@ -28,7 +28,7 @@ class TelethonArchiver(Archiver):
return {
"api_id": {"default": None, "help": "telegram API_ID value, go to https://my.telegram.org/apps"},
"api_hash": {"default": None, "help": "telegram API_HASH value, go to https://my.telegram.org/apps"},
# "bot_token": {"default": None, "help": "optional, but allows access to more content such as large videos, talk to @botfather"},
"bot_token": {"default": None, "help": "optional, but allows access to more content such as large videos, talk to @botfather"},
"session_file": {"default": "secrets/anon", "help": "optional, records the telegram login session for future usage, '.session' will be appended to the provided value."},
"join_channels": {"default": True, "help": "disables the initial setup with channel_invites config, useful if you have a lot and get stuck"},
"channel_invites": {
@ -111,7 +111,8 @@ class TelethonArchiver(Archiver):
result = Metadata()
# NB: not using bot_token since then private channels cannot be archived: self.client.start(bot_token=self.bot_token)
with self.client.start():
# with self.client.start():
with self.client.start(bot_token=self.bot_token):
try:
post = self.client.get_messages(chat, ids=post_id)
except ValueError as e:

Wyświetl plik

@ -122,6 +122,11 @@ class Metadata:
for m in self.media:
if m.get("id") == id: return m
return default
def get_first_image(self, default=None) -> Media:
for m in self.media:
if "image" in m.mimetype: return m
return default
def set_final_media(self, final: Media) -> Metadata:
"""final media is a special type of media: if you can show only 1 this is it, it's useful for some DBs like GsheetDb"""

Wyświetl plik

@ -70,6 +70,10 @@ class GsheetsDb(Database):
if (screenshot := item.get_media_by_id("screenshot")):
batch_if_valid('screenshot', "\n".join(screenshot.urls))
if (thumbnail := item.get_first_image("thumbnail")):
batch_if_valid('thumbnail', f'=IMAGE("{thumbnail.urls[0]}")')
if (browsertrix := item.get_media_by_id("browsertrix")):
batch_if_valid('wacz', "\n".join(browsertrix.urls))
batch_if_valid('replaywebpage', "\n".join([f'https://replayweb.page/?source={quote(wacz)}#view=pages&url={quote(item.get_url())}' for wacz in browsertrix.urls]))