Compare commits
3 Commits
b5e3abd4ad
...
1f345e87f7
Author | SHA1 | Date | |
---|---|---|---|
1f345e87f7 | |||
717586a9f0 | |||
95351f247c |
@@ -65,7 +65,7 @@
|
|||||||
},
|
},
|
||||||
"console": {
|
"console": {
|
||||||
"shutdown": "Shutting down bot with pid {0}",
|
"shutdown": "Shutting down bot with pid {0}",
|
||||||
"startup":"Starting with pid {0}",
|
"startup": "Starting with pid {0}",
|
||||||
"keyboard_interrupt": "\nShutting down...",
|
"keyboard_interrupt": "\nShutting down...",
|
||||||
"exception_occured": "Exception {0} happened on task execution",
|
"exception_occured": "Exception {0} happened on task execution",
|
||||||
"post_sent": "Sent {0} to {1} with caption {2} and silently {3}",
|
"post_sent": "Sent {0} to {1} with caption {2} and silently {3}",
|
||||||
@@ -94,6 +94,12 @@
|
|||||||
"cleanup_completed": "Performed cleanup of the sent files",
|
"cleanup_completed": "Performed cleanup of the sent files",
|
||||||
"cleanup_unathorized": "Requested cleanup of sent files but not authorized. Please pass '--confirm' to perform that",
|
"cleanup_unathorized": "Requested cleanup of sent files but not authorized. Please pass '--confirm' to perform that",
|
||||||
"cleanup_index_completed": "Performed cleanup of sent files index",
|
"cleanup_index_completed": "Performed cleanup of sent files index",
|
||||||
"cleanup_index_unathorized": "Requested cleanup of sent files index but not authorized. Please pass '--confirm' to perform that"
|
"cleanup_index_unathorized": "Requested cleanup of sent files index but not authorized. Please pass '--confirm' to perform that",
|
||||||
|
"random_pic_response": "Random pic response: {0}",
|
||||||
|
"random_pic_error_code": "Could not get photos from album {0}: HTTP {1}",
|
||||||
|
"random_pic_error_debug": "Could not get photos from '{0}/albums/{1}/photos?q=&page_size={2}&caption=queue' using token '{3}': HTTP {4}",
|
||||||
|
"find_pic_error": "Could not find image with name '{0}' and caption '{1}' due to: {2}",
|
||||||
|
"pic_upload_error": "Could not upload '{0}' to API: HTTP {1} with message '{2}'",
|
||||||
|
"api_creds_invalid": "Incorrect API credentials! Could not login into '{0}' using login '{1}': HTTP {2}"
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -94,6 +94,12 @@
|
|||||||
"cleanup_completed": "Виконано очищення надісланих файлів",
|
"cleanup_completed": "Виконано очищення надісланих файлів",
|
||||||
"cleanup_unathorized": "Надіслано запит на очищення надісланих файлів, але не авторизовано. Для цього надайте аргумент '--confirm'",
|
"cleanup_unathorized": "Надіслано запит на очищення надісланих файлів, але не авторизовано. Для цього надайте аргумент '--confirm'",
|
||||||
"cleanup_index_completed": "Виконано очищення індексу надісланих файлів",
|
"cleanup_index_completed": "Виконано очищення індексу надісланих файлів",
|
||||||
"cleanup_index_unathorized": "Надіслано запит на очищення індексу надісланих файлів, але не авторизовано. Для цього надайте аргумент '--confirm'"
|
"cleanup_index_unathorized": "Надіслано запит на очищення індексу надісланих файлів, але не авторизовано. Для цього надайте аргумент '--confirm'",
|
||||||
|
"random_pic_response": "Відповідь на пошук випадкової картинки: {0}",
|
||||||
|
"random_pic_error_code": "Не вдалося отримати фото з альбому {0}: HTTP {1}",
|
||||||
|
"random_pic_error_debug": "Не вдалося отримати фотографії з '{0}/albums/{1}/photos?q=&page_size={2}&caption=queue', використовуючи токен '{3}': HTTP {4}",
|
||||||
|
"find_pic_error": "Не вдалося знайти зображення з назвою '{0}' та підписом '{1}' через: {2}",
|
||||||
|
"pic_upload_error": "Не вдалося завантажити '{0}' до API: HTTP {1} з повідомленням '{2}'",
|
||||||
|
"api_creds_invalid": "Невірні облікові дані API! Не вдалося увійти в '{0}' за допомогою логіна '{1}': HTTP {2}"
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -20,7 +20,7 @@ from classes.exceptions import (
|
|||||||
UserCreationError,
|
UserCreationError,
|
||||||
)
|
)
|
||||||
from modules.logger import logWrite
|
from modules.logger import logWrite
|
||||||
from modules.utils import configGet
|
from modules.utils import configGet, locale
|
||||||
|
|
||||||
http_session = ClientSession(
|
http_session = ClientSession(
|
||||||
json_serialize=dumps,
|
json_serialize=dumps,
|
||||||
@@ -52,7 +52,15 @@ async def authorize() -> str:
|
|||||||
)
|
)
|
||||||
if not response.ok:
|
if not response.ok:
|
||||||
logWrite(
|
logWrite(
|
||||||
f'Incorrect API credentials! Could not login into "{configGet("address", "posting", "api")}" using login "{configGet("username", "posting", "api")}": HTTP {response.status}'
|
locale(
|
||||||
|
"api_creds_invalid",
|
||||||
|
"console",
|
||||||
|
locale=configGet("locale_log").format(
|
||||||
|
configGet("address", "posting", "api"),
|
||||||
|
configGet("username", "posting", "api"),
|
||||||
|
response.status,
|
||||||
|
),
|
||||||
|
)
|
||||||
)
|
)
|
||||||
raise ValueError
|
raise ValueError
|
||||||
async with aiofiles.open(
|
async with aiofiles.open(
|
||||||
@@ -78,13 +86,34 @@ async def random_pic(token: Union[str, None] = None) -> Tuple[str, str]:
|
|||||||
f'{configGet("address", "posting", "api")}/albums/{configGet("album", "posting", "api")}/photos?q=&page_size={configGet("page_size", "posting")}&caption=queue',
|
f'{configGet("address", "posting", "api")}/albums/{configGet("album", "posting", "api")}/photos?q=&page_size={configGet("page_size", "posting")}&caption=queue',
|
||||||
headers={"Authorization": f"Bearer {token}"},
|
headers={"Authorization": f"Bearer {token}"},
|
||||||
)
|
)
|
||||||
print(await resp.json(), flush=True)
|
logWrite(
|
||||||
|
locale("random_pic_response", "console", locale=configGet("locale_log")).format(
|
||||||
|
await resp.json()
|
||||||
|
),
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
if resp.status != 200:
|
if resp.status != 200:
|
||||||
logWrite(
|
logWrite(
|
||||||
f'Could not get photos from album {configGet("album", "posting", "api")}: HTTP {resp.status}'
|
locale(
|
||||||
|
"random_pic_error_code",
|
||||||
|
"console",
|
||||||
|
locale=configGet("locale_log").format(
|
||||||
|
configGet("album", "posting", "api"), resp.status
|
||||||
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
logWrite(
|
logWrite(
|
||||||
f'Could not get photos from "{configGet("address", "posting", "api")}/albums/{configGet("album", "posting", "api")}/photos?q=&page_size={configGet("page_size", "posting")}&caption=queue" using token "{token}": HTTP {resp.status}',
|
locale(
|
||||||
|
"random_pic_error_debug",
|
||||||
|
"console",
|
||||||
|
locale=configGet("locale_log").format(
|
||||||
|
configGet("address", "posting", "api"),
|
||||||
|
configGet("album", "posting", "api"),
|
||||||
|
configGet("page_size", "posting"),
|
||||||
|
token,
|
||||||
|
resp.status,
|
||||||
|
),
|
||||||
|
),
|
||||||
debug=True,
|
debug=True,
|
||||||
)
|
)
|
||||||
raise ValueError
|
raise ValueError
|
||||||
@@ -120,7 +149,13 @@ async def upload_pic(
|
|||||||
response_json = await response.json()
|
response_json = await response.json()
|
||||||
if response.status != 200 and response.status != 409:
|
if response.status != 200 and response.status != 409:
|
||||||
logWrite(
|
logWrite(
|
||||||
f"Could not upload '{filepath}' to API: HTTP {response.status} with message '{response.content}'"
|
locale(
|
||||||
|
"pic_upload_error",
|
||||||
|
"console",
|
||||||
|
locale=configGet("locale_log").format(
|
||||||
|
filepath, response.status, response.content
|
||||||
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
raise SubmissionUploadError(
|
raise SubmissionUploadError(
|
||||||
str(filepath), response.status, response.content
|
str(filepath), response.status, response.content
|
||||||
@@ -161,7 +196,11 @@ async def find_pic(
|
|||||||
return (await response.json())["results"]
|
return (await response.json())["results"]
|
||||||
except Exception as exp:
|
except Exception as exp:
|
||||||
logWrite(
|
logWrite(
|
||||||
f"Could not find image with name '{name}' and caption '{caption}' due to: {exp}"
|
locale(
|
||||||
|
"find_pic_error",
|
||||||
|
"console",
|
||||||
|
locale=configGet("locale_log").format(name, caption, exp),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@@ -1,121 +0,0 @@
|
|||||||
{
|
|
||||||
"locale": "en",
|
|
||||||
"locale_log": "en",
|
|
||||||
"locale_fallback": "en",
|
|
||||||
"owner": 0,
|
|
||||||
"admins": [],
|
|
||||||
"bot": {
|
|
||||||
"api_id": 0,
|
|
||||||
"api_hash": "",
|
|
||||||
"bot_token": ""
|
|
||||||
},
|
|
||||||
"database": {
|
|
||||||
"user": null,
|
|
||||||
"password": null,
|
|
||||||
"host": "127.0.0.1",
|
|
||||||
"port": 27017,
|
|
||||||
"name": "tgposter"
|
|
||||||
},
|
|
||||||
"mode": {
|
|
||||||
"post": true,
|
|
||||||
"submit": true
|
|
||||||
},
|
|
||||||
"reports": {
|
|
||||||
"sent": false,
|
|
||||||
"error": true,
|
|
||||||
"startup": true,
|
|
||||||
"shutdown": true
|
|
||||||
},
|
|
||||||
"logging": {
|
|
||||||
"size": 512,
|
|
||||||
"location": "logs"
|
|
||||||
},
|
|
||||||
"locations": {
|
|
||||||
"tmp": "tmp",
|
|
||||||
"data": "data",
|
|
||||||
"cache": "cache",
|
|
||||||
"sent": "data/sent",
|
|
||||||
"queue": "data/queue",
|
|
||||||
"index": "data/index.json",
|
|
||||||
"locale": "locale"
|
|
||||||
},
|
|
||||||
"posting": {
|
|
||||||
"channel": 0,
|
|
||||||
"silent": false,
|
|
||||||
"move_sent": false,
|
|
||||||
"use_interval": false,
|
|
||||||
"interval": "1h30m",
|
|
||||||
"page_size": 300,
|
|
||||||
"submitted_caption": {
|
|
||||||
"enabled": true,
|
|
||||||
"ignore_admins": true,
|
|
||||||
"text": "#submitted"
|
|
||||||
},
|
|
||||||
"extensions": {
|
|
||||||
"photo": [
|
|
||||||
"jpg",
|
|
||||||
"png",
|
|
||||||
"gif",
|
|
||||||
"jpeg"
|
|
||||||
],
|
|
||||||
"video": [
|
|
||||||
"mp4",
|
|
||||||
"avi",
|
|
||||||
"mkv",
|
|
||||||
"webm",
|
|
||||||
"mov"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"time": [
|
|
||||||
"08:00",
|
|
||||||
"10:00",
|
|
||||||
"12:00",
|
|
||||||
"14:00",
|
|
||||||
"16:00",
|
|
||||||
"18:00",
|
|
||||||
"20:00",
|
|
||||||
"22:00"
|
|
||||||
],
|
|
||||||
"api": {
|
|
||||||
"address": "http://localhost:8054",
|
|
||||||
"address_external": "https://photos.domain.com",
|
|
||||||
"username": "",
|
|
||||||
"password": "",
|
|
||||||
"album": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"caption": {
|
|
||||||
"enabled": false,
|
|
||||||
"link": null,
|
|
||||||
"text": [
|
|
||||||
"sample text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"submission": {
|
|
||||||
"timeout": 30,
|
|
||||||
"file_size": 15728640,
|
|
||||||
"tmp_size": 15728640,
|
|
||||||
"allow_duplicates": false,
|
|
||||||
"send_uploaded_id": false,
|
|
||||||
"require_confirmation": {
|
|
||||||
"users": true,
|
|
||||||
"admins": true
|
|
||||||
},
|
|
||||||
"mime_types": [
|
|
||||||
"image/png",
|
|
||||||
"image/gif",
|
|
||||||
"image/jpeg",
|
|
||||||
"video/mp4",
|
|
||||||
"video/quicktime"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"commands": [
|
|
||||||
"start",
|
|
||||||
"rules"
|
|
||||||
],
|
|
||||||
"commands_admin": [
|
|
||||||
"import",
|
|
||||||
"export",
|
|
||||||
"reboot"
|
|
||||||
]
|
|
||||||
}
|
|
@@ -9,6 +9,86 @@ from ujson import JSONDecodeError, dumps, loads
|
|||||||
|
|
||||||
from modules.logger import logWrite
|
from modules.logger import logWrite
|
||||||
|
|
||||||
|
default_config = {
|
||||||
|
"locale": "en",
|
||||||
|
"locale_log": "en",
|
||||||
|
"locale_fallback": "en",
|
||||||
|
"owner": 0,
|
||||||
|
"admins": [],
|
||||||
|
"bot": {"api_id": 0, "api_hash": "", "bot_token": ""},
|
||||||
|
"database": {
|
||||||
|
"user": None,
|
||||||
|
"password": None,
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
"port": 27017,
|
||||||
|
"name": "tgposter",
|
||||||
|
},
|
||||||
|
"mode": {"post": True, "submit": True},
|
||||||
|
"reports": {"sent": False, "error": True, "startup": True, "shutdown": True},
|
||||||
|
"logging": {"size": 512, "location": "logs"},
|
||||||
|
"locations": {
|
||||||
|
"tmp": "tmp",
|
||||||
|
"data": "data",
|
||||||
|
"cache": "cache",
|
||||||
|
"sent": "data/sent",
|
||||||
|
"queue": "data/queue",
|
||||||
|
"index": "data/index.json",
|
||||||
|
"locale": "locale",
|
||||||
|
},
|
||||||
|
"posting": {
|
||||||
|
"channel": 0,
|
||||||
|
"silent": False,
|
||||||
|
"move_sent": False,
|
||||||
|
"use_interval": False,
|
||||||
|
"interval": "1h30m",
|
||||||
|
"page_size": 300,
|
||||||
|
"submitted_caption": {
|
||||||
|
"enabled": True,
|
||||||
|
"ignore_admins": True,
|
||||||
|
"text": "#submitted",
|
||||||
|
},
|
||||||
|
"extensions": {
|
||||||
|
"photo": ["jpg", "png", "gif", "jpeg"],
|
||||||
|
"video": ["mp4", "avi", "mkv", "webm", "mov"],
|
||||||
|
},
|
||||||
|
"time": [
|
||||||
|
"08:00",
|
||||||
|
"10:00",
|
||||||
|
"12:00",
|
||||||
|
"14:00",
|
||||||
|
"16:00",
|
||||||
|
"18:00",
|
||||||
|
"20:00",
|
||||||
|
"22:00",
|
||||||
|
],
|
||||||
|
"api": {
|
||||||
|
"address": "http://localhost:8054",
|
||||||
|
"address_external": "https://photos.domain.com",
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"album": "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"caption": {"enabled": False, "link": None, "text": ["sample text"]},
|
||||||
|
"submission": {
|
||||||
|
"timeout": 30,
|
||||||
|
"file_size": 15728640,
|
||||||
|
"tmp_size": 15728640,
|
||||||
|
"allow_duplicates": False,
|
||||||
|
"send_uploaded_id": False,
|
||||||
|
"require_confirmation": {"users": True, "admins": True},
|
||||||
|
"mime_types": [
|
||||||
|
"image/png",
|
||||||
|
"image/gif",
|
||||||
|
"image/jpeg",
|
||||||
|
"video/mp4",
|
||||||
|
"video/quicktime",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"commands": ["start", "rules"],
|
||||||
|
"commands_admin": ["import", "export", "reboot"],
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def jsonLoad(filename: str) -> Any:
|
def jsonLoad(filename: str) -> Any:
|
||||||
"""Loads arg1 as json and returns its contents"""
|
"""Loads arg1 as json and returns its contents"""
|
||||||
@@ -77,16 +157,16 @@ def configGet(key: str, *args: str):
|
|||||||
this_key = this_dict
|
this_key = this_dict
|
||||||
for dict_key in args:
|
for dict_key in args:
|
||||||
this_key = this_key[dict_key]
|
this_key = this_key[dict_key]
|
||||||
|
this_key[key]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
print(
|
print(
|
||||||
f"Could not find config key '{key}' under path {args}: falling back to default config",
|
f"Could not find config key '{key}' under path {args}: falling back to default config",
|
||||||
flush=True,
|
flush=True,
|
||||||
)
|
)
|
||||||
fallback_dict = jsonLoad(path.join("modules", "default_config.json"))
|
this_key = default_config
|
||||||
this_key = fallback_dict
|
|
||||||
for dict_key in args:
|
for dict_key in args:
|
||||||
this_key = this_key[dict_key]
|
this_key = this_key[dict_key]
|
||||||
configSet(key, this_key[key], args)
|
configSet(key, this_key[key], *args)
|
||||||
return this_key[key]
|
return this_key[key]
|
||||||
|
|
||||||
|
|
||||||
|
@@ -7,6 +7,7 @@ from classes.poster_client import PosterClient
|
|||||||
from classes.user import PosterUser
|
from classes.user import PosterUser
|
||||||
|
|
||||||
from modules.app import app
|
from modules.app import app
|
||||||
|
from modules.logger import logWrite
|
||||||
from modules.utils import configGet, locale
|
from modules.utils import configGet, locale
|
||||||
from modules.database import col_submitted
|
from modules.database import col_submitted
|
||||||
from bson import ObjectId
|
from bson import ObjectId
|
||||||
@@ -38,6 +39,10 @@ async def callback_query_yes(app: PosterClient, clb: CallbackQuery):
|
|||||||
),
|
),
|
||||||
quote=True,
|
quote=True,
|
||||||
)
|
)
|
||||||
|
logWrite(
|
||||||
|
f"Submission with ID '{fullclb[2]}' could not be accepted because of the duplicates: {str(exp.duplicates)}",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
if submission[0] is not None:
|
if submission[0] is not None:
|
||||||
@@ -83,6 +88,11 @@ async def callback_query_yes(app: PosterClient, clb: CallbackQuery):
|
|||||||
reply_markup=InlineKeyboardMarkup(edited_markup)
|
reply_markup=InlineKeyboardMarkup(edited_markup)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logWrite(
|
||||||
|
f"Submission with ID '{fullclb[2]}' accepted and uploaded with ID '{submission[1]}'",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
|
|
||||||
# try:
|
# try:
|
||||||
# if configGet("api_based", "mode") is True:
|
# if configGet("api_based", "mode") is True:
|
||||||
# media = await app.download_media(submission, file_name=configGet("tmp", "locations")+sep)
|
# media = await app.download_media(submission, file_name=configGet("tmp", "locations")+sep)
|
||||||
@@ -173,6 +183,10 @@ async def callback_query_no(app: PosterClient, clb: CallbackQuery):
|
|||||||
await clb.message.edit_reply_markup(
|
await clb.message.edit_reply_markup(
|
||||||
reply_markup=InlineKeyboardMarkup(edited_markup)
|
reply_markup=InlineKeyboardMarkup(edited_markup)
|
||||||
)
|
)
|
||||||
|
logWrite(
|
||||||
|
f"Submission with ID '{fullclb[2]}' rejected",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.on_callback_query(filters.regex("sub_block_[\s\S]*"))
|
@app.on_callback_query(filters.regex("sub_block_[\s\S]*"))
|
||||||
@@ -200,6 +214,10 @@ async def callback_query_block(app: PosterClient, clb: CallbackQuery):
|
|||||||
await clb.message.edit_reply_markup(
|
await clb.message.edit_reply_markup(
|
||||||
reply_markup=InlineKeyboardMarkup(edited_markup)
|
reply_markup=InlineKeyboardMarkup(edited_markup)
|
||||||
)
|
)
|
||||||
|
logWrite(
|
||||||
|
f"User {fullclb[2]} has been blocked",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.on_callback_query(filters.regex("sub_unblock_[\s\S]*"))
|
@app.on_callback_query(filters.regex("sub_unblock_[\s\S]*"))
|
||||||
@@ -227,3 +245,7 @@ async def callback_query_unblock(app: PosterClient, clb: CallbackQuery):
|
|||||||
await clb.message.edit_reply_markup(
|
await clb.message.edit_reply_markup(
|
||||||
reply_markup=InlineKeyboardMarkup(edited_markup)
|
reply_markup=InlineKeyboardMarkup(edited_markup)
|
||||||
)
|
)
|
||||||
|
logWrite(
|
||||||
|
f"User {fullclb[2]} has been unblocked",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
|
@@ -43,6 +43,10 @@ async def get_submission(app: PosterClient, msg: Message):
|
|||||||
return
|
return
|
||||||
|
|
||||||
if msg.document is not None:
|
if msg.document is not None:
|
||||||
|
logWrite(
|
||||||
|
f"User {msg.from_user.id} is trying to submit a file of type '{msg.document.mime_type}' with name '{msg.document.file_name}' and size of {msg.document.file_size / 1024 / 1024} MB",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
if msg.document.mime_type not in configGet("mime_types", "submission"):
|
if msg.document.mime_type not in configGet("mime_types", "submission"):
|
||||||
await msg.reply_text(
|
await msg.reply_text(
|
||||||
locale("mime_not_allowed", "message", locale=user_locale),
|
locale("mime_not_allowed", "message", locale=user_locale),
|
||||||
@@ -65,6 +69,10 @@ async def get_submission(app: PosterClient, msg: Message):
|
|||||||
) # , msg.document.file_name
|
) # , msg.document.file_name
|
||||||
|
|
||||||
if msg.video is not None:
|
if msg.video is not None:
|
||||||
|
logWrite(
|
||||||
|
f"User {msg.from_user.id} is trying to submit a video with name '{msg.video.file_name}' and size of {msg.video.file_size / 1024 / 1024} MB",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
if msg.video.file_size > configGet("file_size", "submission"):
|
if msg.video.file_size > configGet("file_size", "submission"):
|
||||||
await msg.reply_text(
|
await msg.reply_text(
|
||||||
locale("document_too_large", "message", locale=user_locale).format(
|
locale("document_too_large", "message", locale=user_locale).format(
|
||||||
@@ -78,6 +86,10 @@ async def get_submission(app: PosterClient, msg: Message):
|
|||||||
contents = msg.video.file_id, SubmissionType.VIDEO # , msg.video.file_name
|
contents = msg.video.file_id, SubmissionType.VIDEO # , msg.video.file_name
|
||||||
|
|
||||||
if msg.animation is not None:
|
if msg.animation is not None:
|
||||||
|
logWrite(
|
||||||
|
f"User {msg.from_user.id} is trying to submit an animation with name '{msg.animation.file_name}' and size of {msg.animation.file_size / 1024 / 1024} MB",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
if msg.animation.file_size > configGet("file_size", "submission"):
|
if msg.animation.file_size > configGet("file_size", "submission"):
|
||||||
await msg.reply_text(
|
await msg.reply_text(
|
||||||
locale("document_too_large", "message", locale=user_locale).format(
|
locale("document_too_large", "message", locale=user_locale).format(
|
||||||
@@ -94,6 +106,10 @@ async def get_submission(app: PosterClient, msg: Message):
|
|||||||
) # , msg.animation.file_name
|
) # , msg.animation.file_name
|
||||||
|
|
||||||
if msg.photo is not None:
|
if msg.photo is not None:
|
||||||
|
logWrite(
|
||||||
|
f"User {msg.from_user.id} is trying to submit a photo with ID '{msg.photo.file_id}' and size of {msg.photo.file_size / 1024 / 1024} MB",
|
||||||
|
debug=True,
|
||||||
|
)
|
||||||
contents = msg.photo.file_id, SubmissionType.PHOTO # , "please_generate"
|
contents = msg.photo.file_id, SubmissionType.PHOTO # , "please_generate"
|
||||||
|
|
||||||
if save_tmp is not None:
|
if save_tmp is not None:
|
||||||
|
Reference in New Issue
Block a user