mirror of
https://github.com/TheFunny/TelegramTwitterMediaBot.git
synced 2026-09-23 23:32:05 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6325d5bc8
|
||
|
|
6c0e581135
|
||
|
|
494fc50446
|
||
|
|
a4e568667c
|
+1
-1
@@ -3,4 +3,4 @@ __pycache__/
|
||||
cert/
|
||||
data/
|
||||
docker-compose.yml
|
||||
x.py
|
||||
utils/x.py
|
||||
|
||||
@@ -10,7 +10,7 @@ from telegram.ext import (ApplicationBuilder, CallbackQueryHandler, CommandHandl
|
||||
InlineQueryHandler, MessageHandler, PicklePersistence, filters)
|
||||
|
||||
import common
|
||||
from tweet import Telegram
|
||||
from utils.tweet import Telegram
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from telegram import Chat, Message, Update
|
||||
@@ -51,7 +51,7 @@ async def url_media(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
|
||||
media,
|
||||
caption=tweet.message_text,
|
||||
reply_to_message_id=update.message.message_id,
|
||||
) if not isinstance(tuple, media[0]) else await update.effective_message.reply_animation(
|
||||
) if not isinstance(media[0], tuple) else await update.effective_message.reply_animation(
|
||||
media[0][0],
|
||||
caption=tweet.message_text,
|
||||
reply_to_message_id=update.message.message_id,
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
from typing import Type, TypedDict
|
||||
|
||||
from telegram import InlineQueryResultMpeg4Gif, InlineQueryResultPhoto, InlineQueryResultVideo, InputMediaPhoto, \
|
||||
InputMediaVideo
|
||||
|
||||
TypeInlineQueryResult: Type[
|
||||
InlineQueryResultMpeg4Gif | InlineQueryResultPhoto | InlineQueryResultVideo] = InlineQueryResultMpeg4Gif | InlineQueryResultPhoto | InlineQueryResultVideo
|
||||
InputMediaAnimation = tuple[str, bool]
|
||||
TypeMessageMediaResult: Type[
|
||||
InputMediaPhoto | InputMediaVideo | InputMediaAnimation] = InputMediaPhoto | InputMediaVideo | InputMediaAnimation
|
||||
|
||||
|
||||
class TweetInfo(TypedDict):
|
||||
tweetID: str
|
||||
user_name: str
|
||||
user_screen_name: str
|
||||
text: str
|
||||
media_extended: list[dict]
|
||||
possibly_sensitive: bool
|
||||
@@ -12,7 +12,7 @@ from telegram import (InlineQueryResultMpeg4Gif, InlineQueryResultPhoto, InlineQ
|
||||
from common import get_logger, x_media_regex, x_tco_regex, x_url_regex
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from types import TweetInfo, TypeInlineQueryResult, TypeMessageMediaResult
|
||||
from .types import TweetInfo, TypeInlineQueryResult, TypeMessageMediaResult
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
@@ -158,7 +158,7 @@ class ProcessTweet:
|
||||
async def _fetch_tweet(self) -> TweetInfo:
|
||||
match = x_url_regex.match(self._url)
|
||||
assert match, f"Invalid URL: {self._url}"
|
||||
auther_id, tweet_id = match.group()
|
||||
auther_id, tweet_id = match.groups()
|
||||
return await fetch_json(self._httpx_client, vx_api_url.format(auther_id, tweet_id))
|
||||
|
||||
@property
|
||||
@@ -273,6 +273,9 @@ class Telegram:
|
||||
async with TelegramTweet(self._httpx_client, self._url) as tweet:
|
||||
return tweet
|
||||
|
||||
async def __aexit__(self, exc_type, exc_val, exc_tb):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def init_client(cls) -> None:
|
||||
cls._httpx_client = create_client()
|
||||
@@ -0,0 +1,17 @@
|
||||
from typing import TypedDict
|
||||
|
||||
from telegram import InlineQueryResultMpeg4Gif, InlineQueryResultPhoto, InlineQueryResultVideo, InputMediaPhoto, \
|
||||
InputMediaVideo
|
||||
|
||||
TypeInlineQueryResult = InlineQueryResultMpeg4Gif | InlineQueryResultPhoto | InlineQueryResultVideo
|
||||
InputMediaAnimation = tuple[str, bool]
|
||||
TypeMessageMediaResult = InputMediaPhoto | InputMediaVideo | InputMediaAnimation
|
||||
|
||||
|
||||
class TweetInfo(TypedDict):
|
||||
tweetID: str
|
||||
user_name: str
|
||||
user_screen_name: str
|
||||
text: str
|
||||
media_extended: list[dict]
|
||||
possibly_sensitive: bool
|
||||
Reference in New Issue
Block a user