mirror of
https://github.com/TheFunny/TelegramTwitterMediaBot.git
synced 2026-09-23 23:32:05 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1252ec8804
|
||
|
|
cde1091c85
|
||
|
|
8b2b6b49ab
|
||
|
|
86b4a972c9
|
||
|
|
483a3de649
|
||
|
|
48bc81898d
|
@@ -14,7 +14,7 @@ if WEBHOOK:
|
||||
WEBHOOK_CERT = os.getenv("WEBHOOK_CERT", "cert/cert.pem")
|
||||
WEBHOOK_SECRET_TOKEN = os.getenv("WEBHOOK_SECRET_TOKEN")
|
||||
|
||||
x_url_regex = re.compile(r"^(?:https?://)(?:www\.|mobile\.|)(?:x|twitter)\.com/(.+)/status/(\d+)")
|
||||
x_url_regex = re.compile(r"^(?:https?://)(?:www\.|mobile\.|)(?:x|twitter|fixvx|vxtwitter)\.com/(.+)/status/(\d+)")
|
||||
x_media_regex = re.compile(r"^(?:https?://)(pbs|video)\.twimg\.com/(.*)")
|
||||
x_tco_regex = re.compile(r"(?:https?://)t\.co/.+$", re.M)
|
||||
message_url_regex = re.compile(r"\[.+]", re.S)
|
||||
|
||||
@@ -2,21 +2,13 @@ import html
|
||||
from functools import wraps
|
||||
|
||||
from aiohttp import ClientSession
|
||||
from telegram import Update, Chat, InlineKeyboardMarkup, InlineKeyboardButton, Message
|
||||
from telegram.constants import ParseMode, ChatAction, ChatType
|
||||
from telegram.ext import (
|
||||
Application,
|
||||
ApplicationBuilder,
|
||||
ContextTypes,
|
||||
Defaults,
|
||||
filters,
|
||||
InlineQueryHandler,
|
||||
PicklePersistence,
|
||||
MessageHandler,
|
||||
CommandHandler, CallbackQueryHandler
|
||||
)
|
||||
from telegram import Chat, InlineKeyboardButton, InlineKeyboardMarkup, Message, Update
|
||||
from telegram.constants import ChatAction, ChatType, ParseMode
|
||||
from telegram.ext import (Application, ApplicationBuilder, CallbackQueryHandler, CommandHandler, ContextTypes, Defaults,
|
||||
InlineQueryHandler, MessageHandler, PicklePersistence, filters)
|
||||
|
||||
import common
|
||||
from common import logger
|
||||
from tweet import TGTweet
|
||||
|
||||
|
||||
@@ -36,7 +28,7 @@ async def inline_query(update: Update, context: ContextTypes.DEFAULT_TYPE) -> No
|
||||
query = update.inline_query.query
|
||||
if query == "":
|
||||
return
|
||||
common.logger.info(f"Query: {query}")
|
||||
logger.info(f"Query: {query}")
|
||||
async with TGTweet(query) as tweet:
|
||||
result = list(tweet.inline_query_generator)
|
||||
await update.inline_query.answer(result)
|
||||
@@ -45,7 +37,7 @@ async def inline_query(update: Update, context: ContextTypes.DEFAULT_TYPE) -> No
|
||||
@send_action(ChatAction.UPLOAD_PHOTO)
|
||||
async def url_media(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
|
||||
url = update.message.text
|
||||
common.logger.info(f"Receiving url: {url}")
|
||||
logger.info(f"Receiving url: {url}")
|
||||
async with TGTweet(url) as tweet:
|
||||
media = list(tweet.pm_media_generator)
|
||||
message_to_send = await update.effective_message.reply_media_group(
|
||||
@@ -58,6 +50,8 @@ async def url_media(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
|
||||
reply_to_message_id=update.message.message_id,
|
||||
has_spoiler=media[0][1]
|
||||
)
|
||||
if not isinstance(message_to_send, tuple):
|
||||
message_to_send = (message_to_send,)
|
||||
url = tweet.url
|
||||
if context.user_data.get('edit_before_forward', False):
|
||||
message_reply = await update.effective_message.reply_text(
|
||||
@@ -112,10 +106,7 @@ async def edit_message(update: Update, context: ContextTypes.DEFAULT_TYPE) -> No
|
||||
update_text[match[0] + 1:match[1] - 1]
|
||||
) + update_text[match[1]:]
|
||||
message_to_send = context.user_data['message_to_send']
|
||||
if isinstance(message_to_send, tuple):
|
||||
await message_to_send[0].edit_text(update_text)
|
||||
else:
|
||||
await message_to_send.edit_caption(update_text)
|
||||
await message_to_send[0].edit_caption(update_text)
|
||||
|
||||
|
||||
async def query_forward_message(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
|
||||
@@ -227,6 +218,7 @@ def main():
|
||||
.post_init(post_init)
|
||||
.post_stop(post_stop)
|
||||
.post_shutdown(post_shutdown)
|
||||
.concurrent_updates(True)
|
||||
.build()
|
||||
)
|
||||
|
||||
@@ -234,8 +226,8 @@ def main():
|
||||
user_filter.add_user_ids(common.ADMIN)
|
||||
|
||||
handlers = [
|
||||
MessageHandler(filters.Regex(common.x_url_regex) & filters.ChatType.PRIVATE, url_media),
|
||||
InlineQueryHandler(inline_query, common.x_url_regex),
|
||||
MessageHandler(filters.Regex(common.x_url_regex) & filters.ChatType.PRIVATE, url_media),
|
||||
CommandHandler("set_forward_channel", cmd_set_forward_channel),
|
||||
CommandHandler("remove_forward_channel", cmd_remove_forward_channel),
|
||||
CommandHandler("edit_before_forward", cmd_edit_before_forward),
|
||||
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
python-telegram-bot[webhooks]~=21.1.1
|
||||
python-telegram-bot[webhooks]~=21.3
|
||||
aiohttp[speedups]~=3.9.3
|
||||
Reference in New Issue
Block a user