mirror of
https://github.com/PaiGramTeam/PaiGram.git
synced 2024-11-16 12:51:35 +00:00
处理其他消息类型的错误通知
This commit is contained in:
parent
b09373c345
commit
7bbb1976fc
@ -7,7 +7,7 @@ import ujson
|
|||||||
from aiohttp import ClientConnectorError
|
from aiohttp import ClientConnectorError
|
||||||
from genshin import InvalidCookies, GenshinException, TooManyRequests
|
from genshin import InvalidCookies, GenshinException, TooManyRequests
|
||||||
from httpx import ConnectTimeout
|
from httpx import ConnectTimeout
|
||||||
from telegram import Update, ReplyKeyboardRemove
|
from telegram import Update, ReplyKeyboardRemove, Message
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
from telegram.error import BadRequest, TimedOut, Forbidden
|
from telegram.error import BadRequest, TimedOut, Forbidden
|
||||||
from telegram.ext import CallbackContext, ConversationHandler
|
from telegram.ext import CallbackContext, ConversationHandler
|
||||||
@ -24,10 +24,17 @@ except KeyError as error:
|
|||||||
|
|
||||||
async def send_user_notification(update: Update, _: CallbackContext, text: str):
|
async def send_user_notification(update: Update, _: CallbackContext, text: str):
|
||||||
effective_user = update.effective_user
|
effective_user = update.effective_user
|
||||||
if update.callback_query is None:
|
message: Optional[Message] = None
|
||||||
message = update.message
|
if update.callback_query is not None:
|
||||||
else:
|
|
||||||
message = update.callback_query.message
|
message = update.callback_query.message
|
||||||
|
if update.message is not None:
|
||||||
|
message = update.message
|
||||||
|
if update.edited_message is not None:
|
||||||
|
message = update.edited_message
|
||||||
|
if message is None:
|
||||||
|
update_str = update.to_dict() if isinstance(update, Update) else str(update)
|
||||||
|
Log.warning("错误的消息类型\n" + ujson.dumps(update_str, indent=2, ensure_ascii=False))
|
||||||
|
return
|
||||||
chat = message.chat
|
chat = message.chat
|
||||||
Log.info(f"尝试通知用户 {effective_user.full_name}[{effective_user.id}] "
|
Log.info(f"尝试通知用户 {effective_user.full_name}[{effective_user.id}] "
|
||||||
f"在 {chat.full_name}[{chat.id}]"
|
f"在 {chat.full_name}[{chat.id}]"
|
||||||
@ -104,6 +111,7 @@ def conversation_error_handler(func: Callable) -> Callable:
|
|||||||
return ConversationHandler.END
|
return ConversationHandler.END
|
||||||
except Forbidden as exc:
|
except Forbidden as exc:
|
||||||
Log.warning("python-telegram-bot 返回 Forbidden", exc)
|
Log.warning("python-telegram-bot 返回 Forbidden", exc)
|
||||||
|
await send_user_notification(update, context, f"telegram-bot-api请求错误")
|
||||||
return ConversationHandler.END
|
return ConversationHandler.END
|
||||||
|
|
||||||
return decorator
|
return decorator
|
||||||
@ -157,7 +165,13 @@ async def error_handler(update: object, context: CallbackContext) -> None:
|
|||||||
Log.error("处理函数时发生异常", exc_1)
|
Log.error("处理函数时发生异常", exc_1)
|
||||||
effective_user = update.effective_user
|
effective_user = update.effective_user
|
||||||
try:
|
try:
|
||||||
|
message: Optional[Message] = None
|
||||||
|
if update.callback_query is not None:
|
||||||
|
message = update.callback_query.message
|
||||||
|
if update.message is not None:
|
||||||
message = update.message
|
message = update.message
|
||||||
|
if update.edited_message is not None:
|
||||||
|
message = update.edited_message
|
||||||
if message is not None:
|
if message is not None:
|
||||||
chat = message.chat
|
chat = message.chat
|
||||||
Log.info(f"尝试通知用户 {effective_user.full_name}[{effective_user.id}] "
|
Log.info(f"尝试通知用户 {effective_user.full_name}[{effective_user.id}] "
|
||||||
|
Loading…
Reference in New Issue
Block a user