@@ -986,6 +986,7 @@ def add_backlog_entry(update, context) -> int:
986986def send_new_feature_message (context , new_feature_message ):
987987 users = db .get_all_user_id ()
988988 no_of_users = 0
989+ no_of_error_users = 0
989990 errors = []
990991
991992 for user_id in users :
@@ -1002,11 +1003,11 @@ def send_new_feature_message(context, new_feature_message):
10021003 username = chat .username if chat .username else "?"
10031004 except Exception :
10041005 username = "?"
1005-
1006+ no_of_error_users += 1
10061007 errors .append (f"Username @{ username } (ID: { user_id } ): { e } " )
10071008
10081009 error_message = "\n " .join (errors )
1009- return no_of_users , error_message
1010+ return no_of_users , no_of_error_users , error_message
10101011
10111012
10121013def notify_all (update , context ):
@@ -1027,19 +1028,21 @@ def notify_all(update, context):
10271028 f"Preview:\n { new_feature_message } " ,
10281029 reply_markup = reply_markup ,
10291030 )
1030- else :
1031- update .message .reply_text ("You are not authorized to use this command." )
10321031
10331032
10341033def notify_preview (update , context ):
10351034 query = update .callback_query
10361035 query .answer ()
1036+ query .edit_message_text (
1037+ text = f"Sending message to all in progress..." ,
1038+ reply_markup = InlineKeyboardMarkup ([]),
1039+ )
10371040 if query .data == "confirm_send" :
10381041 new_feature_message = query .message .text .partition ("\n " )[2 ]
1039- no_of_users , error_message = send_new_feature_message (
1042+ no_of_users , no_of_error_users , error_message = send_new_feature_message (
10401043 context , new_feature_message
10411044 )
1042- response = f"Message sent to { no_of_users } users."
1045+ response = f"Message sent to { no_of_users } users.\n { no_of_error_users } users failed to receive the message. "
10431046 if error_message :
10441047 response += f"\n Errors:\n { error_message } "
10451048 query .edit_message_text (text = response )
0 commit comments