Compare commits

...
4 Commits
Author SHA1 Message Date
YoursFunny 0ffa9903c4 add hint 2024-04-26 15:19:04 +08:00
YoursFunny 248e7d48e0 fix caption of multiple inline query results 2024-04-26 15:15:13 +08:00
YoursFunny e915cd13de fix html escape 2024-04-26 15:13:38 +08:00
YoursFunny a7d144f2ee fix multiple media forward 2024-03-25 16:54:08 +08:00
2 changed files with 14 additions and 10 deletions
+5 -3
View File
@@ -70,11 +70,13 @@ async def url_media(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
async def forward_message(
update: Update,
context: ContextTypes.DEFAULT_TYPE,
message_sent: tuple[Message, ...],
message_to_send: tuple[Message, ...],
) -> None:
try:
for i, m in enumerate(message_sent):
await m.copy(context.user_data['forward_channel_id'])
await update.effective_chat.copy_messages(
context.user_data['forward_channel_id'],
[m.id for m in message_to_send]
)
except Exception as e:
await update.effective_message.reply_text(str(e))
+9 -7
View File
@@ -1,3 +1,4 @@
import html
from typing import Generator
from aiohttp import ClientSession
@@ -183,12 +184,13 @@ class TGTweet(Tweet):
return message_raw_text.format(
url=self.url,
author_url=self.author_url,
author=self.author,
text=self.text
author=html.escape(self.author),
text=html.escape(self.text)
)
@property
def inline_query_generator(self) -> Generator[InlineQueryResultPhoto | InlineQueryResultVideo, None, None]:
def inline_query_generator(self) -> Generator[
InlineQueryResultPhoto | InlineQueryResultVideo | InlineQueryResultMpeg4Gif, None, None]:
for i, tweet_media in enumerate(self.media):
logger.info(str(tweet_media))
if tweet_media.type == "image":
@@ -196,7 +198,7 @@ class TGTweet(Tweet):
id=str(i),
photo_url=tweet_media.url,
thumbnail_url=tweet_media.thumb,
caption=self.message_text if not i else None
caption=self.message_text
)
elif tweet_media.type == "video":
yield InlineQueryResultVideo(
@@ -205,18 +207,18 @@ class TGTweet(Tweet):
mime_type="video/mp4",
thumbnail_url=tweet_media.thumb,
title=self.text,
caption=self.message_text if not i else None
caption=self.message_text
)
elif tweet_media.type == "gif":
yield InlineQueryResultMpeg4Gif(
id=str(i),
mpeg4_url=tweet_media.url,
thumbnail_url=tweet_media.thumb,
caption=self.message_text if not i else None
caption=self.message_text
)
@property
def pm_media_generator(self) -> Generator[InputMediaPhoto | InputMediaVideo, None, None]:
def pm_media_generator(self) -> Generator[InputMediaPhoto | InputMediaVideo | InputMediaAnimation, None, None]:
for tweet_media in self.media:
logger.info(str(tweet_media))
if tweet_media.type == "image":