@@ -986,6 +986,7 @@ def add_backlog_entry(update, context) -> int:
986
986
def send_new_feature_message (context , new_feature_message ):
987
987
users = db .get_all_user_id ()
988
988
no_of_users = 0
989
+ no_of_error_users = 0
989
990
errors = []
990
991
991
992
for user_id in users :
@@ -1002,11 +1003,11 @@ def send_new_feature_message(context, new_feature_message):
1002
1003
username = chat .username if chat .username else "?"
1003
1004
except Exception :
1004
1005
username = "?"
1005
-
1006
+ no_of_error_users += 1
1006
1007
errors .append (f"Username @{ username } (ID: { user_id } ): { e } " )
1007
1008
1008
1009
error_message = "\n " .join (errors )
1009
- return no_of_users , error_message
1010
+ return no_of_users , no_of_error_users , error_message
1010
1011
1011
1012
1012
1013
def notify_all (update , context ):
@@ -1027,19 +1028,21 @@ def notify_all(update, context):
1027
1028
f"Preview:\n { new_feature_message } " ,
1028
1029
reply_markup = reply_markup ,
1029
1030
)
1030
- else :
1031
- update .message .reply_text ("You are not authorized to use this command." )
1032
1031
1033
1032
1034
1033
def notify_preview (update , context ):
1035
1034
query = update .callback_query
1036
1035
query .answer ()
1036
+ query .edit_message_text (
1037
+ text = f"Sending message to all in progress..." ,
1038
+ reply_markup = InlineKeyboardMarkup ([]),
1039
+ )
1037
1040
if query .data == "confirm_send" :
1038
1041
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 (
1040
1043
context , new_feature_message
1041
1044
)
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. "
1043
1046
if error_message :
1044
1047
response += f"\n Errors:\n { error_message } "
1045
1048
query .edit_message_text (text = response )
0 commit comments