Esempio n. 1
0
    def get_user_info(self, user_id: str, **kwargs) -> Dict[str, Any]:
        try:
            photo_url = None
            data = apihelper.get_chat_member(
                self.token, kwargs.get('chat_id') or user_id, user_id
            )
            log.debug(f'User info data={data};')
        except Exception as err:
            raise MessengerException(err)

        try:
            photos = apihelper.get_user_profile_photos(self.token, user_id)
            data.update(photos=photos)

            log.debug(f'User photos={photos};')

            if photos['total_count'] > 0:
                photo_url = self.get_file_url(photos['photos'][0][0]['file_id'])
            data.update(avatar=photo_url, photos=photos)
        except Exception as err:
            raise MessengerException(err)

        return {
            'id': data['user']['id'],
            'username': data['user']['username'],
            'avatar': photo_url,
            'info': data
        }
Esempio n. 2
0
 def get_user_profile_photos(self, user_id, offset=None, limit=None):
     """
     Retrieves the user profile photos of the person with 'user_id'
     See https://core.telegram.org/bots/api#getuserprofilephotos
     :param user_id:
     :param offset:
     :param limit:
     :return: API reply.
     """
     result = apihelper.get_user_profile_photos(self.token, user_id, offset, limit)
     return types.UserProfilePhotos.de_json(result)
Esempio n. 3
0
 def get_user_profile_photos(self, user_id, offset=None, limit=None):
     """
     Retrieves the user profile photos of the person with 'user_id'
     See https://core.telegram.org/bots/api#getuserprofilephotos
     :param user_id:
     :param offset:
     :param limit:
     :return: API reply.
     """
     result = apihelper.get_user_profile_photos(self.token, user_id, offset, limit)
     return types.UserProfilePhotos.de_json(result)