bots: Use user 'id' instead of 'name' in is_private function.
Names are not guaranteed to be unique, user ids should be used when comparing if the sender and receiver are the same.
This commit is contained in:
		
							parent
							
								
									735943379f
								
							
						
					
					
						commit
						ae434cd26c
					
				
					 1 changed files with 3 additions and 2 deletions
				
			
		|  | @ -79,6 +79,7 @@ class ExternalBotHandler(object): | |||
|         self._client = client | ||||
|         self._root_dir = root_dir | ||||
|         try: | ||||
|             self.user_id = user_profile['user_id'] | ||||
|             self.full_name = user_profile['full_name'] | ||||
|             self.email = user_profile['email'] | ||||
|         except KeyError: | ||||
|  | @ -176,10 +177,10 @@ def extract_query_without_mention(message, client): | |||
| 
 | ||||
| def is_private(message, client): | ||||
|     # type: (Dict[str, Any], ExternalBotHandler) -> bool | ||||
|     # bot will not reply if the sender name is the same as the bot name | ||||
|     # bot will not reply if the sender id is the same as the bot id | ||||
|     # to prevent infinite loop | ||||
|     if message['type'] == 'private': | ||||
|         return client.full_name != message['sender_full_name'] | ||||
|         return client.user_id != message['sender_id'] | ||||
|     return False | ||||
| 
 | ||||
| def run_message_handler_for_bot(lib_module, quiet, config_file, bot_name): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Abhijeet Kaur
						Abhijeet Kaur