# Buggy code
def byHashtag(self, hashtag, count=30, offset=0, **kwargs) -> dict:
    """Returns a dictionary listing TikToks with a specific hashtag.

    :param hashtag: The hashtag to search by.
    :param count: The number of posts to return.
                  Note: seems to only support up to ~2,000
    :param language: The 2 letter code of the language to return.
                     Note: Doesn't seem to have an affect.
    :param region: The 2 letter region code.
                   Note: Doesn't seem to have an affect.
    :param proxy: The IP address of a proxy to make requests from.
    """
    (
        region,
        language,
        proxy,
        maxCount,
    ) = self.__process_kwargs__(kwargs)
    id = self.getHashtagObject(hashtag)["challengeInfo"]["challenge"]["id"]
    response = []

    required_count = count

    while len(response) < required_count:
        if count > maxCount:
            count = maxCount
        query = {
            "count": count,
            "challengeID": id,
            "type": 3,
            "secUid": "",
            "cursor": offset,
            "sourceType": "8",
            "language": language,
        }
        api_url = "{}api/challenge/item_list/?{}&{}".format(
            BASE_URL, self.__add_new_params__(), urlencode(query)
        )
        b = browser(api_url, **kwargs)
        res = self.getData(b, proxy=proxy, language=language)

        try:
            for t in res["itemList"]:
                response.append(t)
        except:
            if self.debug:
                print(res)

        if not res["hasMore"]:
            if self.debug:
                print("TikTok isn't sending more TikToks beyond this point.")
            return response

        offset += maxCount

    return response[:required_count]


# Traceback (TypeError)
# Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\TikTokApi\tiktok.py", line 373, in byUsername
**kwargs,
TypeError: userPosts() got multiple values for keyword argument 'proxy'

# Fixed code
def byHashtag(self, hashtag, count=30, offset=0, **kwargs) -> dict:
    """Returns a dictionary listing TikToks with a specific hashtag.

    :param hashtag: The hashtag to search by.
    :param count: The number of posts to return.
                  Note: seems to only support up to ~2,000
    :param language: The 2 letter code of the language to return.
                     Note: Doesn't seem to have an affect.
    :param region: The 2 letter region code.
                   Note: Doesn't seem to have an affect.
    :param proxy: The IP address of a proxy to make requests from.
    """
    (
        region,
        language,
        proxy,
        maxCount,
    ) = self.__process_kwargs__(kwargs)
    id = self.getHashtagObject(hashtag)["challengeInfo"]["challenge"]["id"]
    response = []

    required_count = count

    while len(response) < required_count:
        if count > maxCount:
            count = maxCount
        query = {
            "count": count,
            "challengeID": id,
            "type": 3,
            "secUid": "",
            "cursor": offset,
            "sourceType": "8",
            "language": language,
        }
        api_url = "{}api/challenge/item_list/?{}&{}".format(
            BASE_URL, self.__add_new_params__(), urlencode(query)
        )
        b = browser(api_url, **kwargs)
        res = self.getData(b, **kwargs)

        try:
            for t in res["itemList"]:
                response.append(t)
        except:
            if self.debug:
                print(res)

        if not res["hasMore"]:
            if self.debug:
                print("TikTok isn't sending more TikToks beyond this point.")
            return response

        offset += maxCount

    return response[:required_count]