catched some errors
This commit is contained in:
parent
10e27e4cd1
commit
0935f6a7f1
|
@ -17,12 +17,21 @@ def keep_user_register(update: Update, context: CallbackContext) -> None:
|
||||||
message = update.message
|
message = update.message
|
||||||
users = set()
|
users = set()
|
||||||
# get user from every possible source
|
# get user from every possible source
|
||||||
if hasattr(update, "effective_user"): users |= set(update.effective_user)
|
try:
|
||||||
if hasattr(message, "new_chat_members"): users |= set(*message.new_chat_members)
|
users |= {update.effective_user}
|
||||||
if hasattr(message, "left_chat_member"): users |= set(message.left_chat_member)
|
except Exception as e: pass
|
||||||
if hasattr(message, "forward_from"): users |= set(message.forward_from)
|
try:
|
||||||
if hasattr(update, "edited_message"):
|
users |= {*message.new_chat_members}
|
||||||
if hasattr(update.edited_message, "from_user"): users |= set(message.edited_message.from_user)
|
except Exception as e: pass
|
||||||
|
try:
|
||||||
|
users |= {message.left_chat_member}
|
||||||
|
except Exception as e: pass
|
||||||
|
try:
|
||||||
|
users |= {message.forward_from}
|
||||||
|
except Exception as e: pass
|
||||||
|
try:
|
||||||
|
users |= {message.edited_message.from_user}
|
||||||
|
except Exception as e: pass
|
||||||
try:
|
try:
|
||||||
record = GET_ADMIN_FROM_API_REQUEST_COUNTDOWN
|
record = GET_ADMIN_FROM_API_REQUEST_COUNTDOWN
|
||||||
get_administrators_frequency = 10 # request this data with low frequency
|
get_administrators_frequency = 10 # request this data with low frequency
|
||||||
|
@ -38,5 +47,8 @@ def keep_user_register(update: Update, context: CallbackContext) -> None:
|
||||||
|
|
||||||
users.discard(None)
|
users.discard(None)
|
||||||
|
|
||||||
registered_users: set[User] = context.bot_data[USERS]
|
try:
|
||||||
|
registered_users: set[User] = context.bot_data[USERS]
|
||||||
|
except KeyError: # first use
|
||||||
|
context.bot_data[USERS] = set()
|
||||||
registered_users |= users
|
registered_users |= users
|
||||||
|
|
|
@ -82,7 +82,10 @@ def get_users(mentions: PARSED_MESSAGEENTITIES, context, allow_bots=False) -> se
|
||||||
user = mention.user
|
user = mention.user
|
||||||
else:
|
else:
|
||||||
username = username.lstrip("@")
|
username = username.lstrip("@")
|
||||||
user = list(filter(lambda user: user.username == username, registered_users))[0]
|
try:
|
||||||
|
user = list(filter(lambda user: user.username == username, registered_users))[0]
|
||||||
|
except IndexError: # do not add not registered users
|
||||||
|
continue
|
||||||
if user and (allow_bots or not user.is_bot):
|
if user and (allow_bots or not user.is_bot):
|
||||||
users.add(user)
|
users.add(user)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue