async def set_game_score(self, user_id: base.Integer, score: base.Integer,
                             force: typing.Union[base.Boolean, None] = None,
                             disable_edit_message: typing.Union[base.Boolean, None] = None,
                             chat_id: typing.Union[base.Integer, None] = None,
                             message_id: typing.Union[base.Integer, None] = None,
                             inline_message_id: typing.Union[base.String,
                                                             None] = None) -> types.Message or base.Boolean:
        """
        Use this method to set the score of the specified user in a game.

        Source: https://core.telegram.org/bots/api#setgamescore

        :param user_id: User identifier
        :type user_id: :obj:`base.Integer`
        :param score: New score, must be non-negative
        :type score: :obj:`base.Integer`
        :param force: Pass True, if the high score is allowed to decrease
            This can be useful when fixing mistakes or banning cheaters
        :type force: :obj:`typing.Union[base.Boolean, None]`
        :param disable_edit_message: Pass True, if the game message should not be automatically
            edited to include the current scoreboard
        :type disable_edit_message: :obj:`typing.Union[base.Boolean, None]`
        :param chat_id: Required if inline_message_id is not specified. Unique identifier for the target chat
        :type chat_id: :obj:`typing.Union[base.Integer, None]`
        :param message_id: Required if inline_message_id is not specified. Identifier of the sent message
        :type message_id: :obj:`typing.Union[base.Integer, None]`
        :param inline_message_id: Required if chat_id and message_id are not specified. Identifier of the inline message
        :type inline_message_id: :obj:`typing.Union[base.String, None]`
        :return: On success, if the message was sent by the bot, returns the edited Message, otherwise returns True
            Returns an error, if the new score is not greater than the user's
            current score in the chat and force is False.
        :rtype: :obj:`typing.Union[types.Message, base.Boolean]`
        """
        payload = generate_payload(**locals())

        result = await self.request(api.Methods.SET_GAME_SCORE, payload)
        if isinstance(result, bool):
            return result
        return types.Message(**result)
Use this method to set the score of the specified user in a game.

        Source: https://core.telegram.org/bots/api#setgamescore

        :param user_id: User identifier
        :type user_id: :obj:`base.Integer`
        :param score: New score, must be non-negative
        :type score: :obj:`base.Integer`
        :param force: Pass True, if the high score is allowed to decrease
            This can be useful when fixing mistakes or banning cheaters
        :type force: :obj:`typing.Union[base.Boolean, None]`
        :param disable_edit_message: Pass True, if the game message should not be automatically
            edited to include the current scoreboard
        :type disable_edit_message: :obj:`typing.Union[base.Boolean, None]`
        :param chat_id: Required if inline_message_id is not specified. Unique identifier for the target chat
        :type chat_id: :obj:`typing.Union[base.Integer, None]`
        :param message_id: Required if inline_message_id is not specified. Identifier of the sent message
        :type message_id: :obj:`typing.Union[base.Integer, None]`
        :param inline_message_id: Required if chat_id and message_id are not specified. Identifier of the inline message
        :type inline_message_id: :obj:`typing.Union[base.String, None]`
        :return: On success, if the message was sent by the bot, returns the edited Message, otherwise returns True
            Returns an error, if the new score is not greater than the user's
            current score in the chat and force is False.
        :rtype: :obj:`typing.Union[types.Message, base.Boolean]`